ring_theory.ideal.operationsMathlib.RingTheory.Ideal.Operations

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -1511,7 +1511,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+        subset_union_prime' hp', ← or_assoc, or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
   · by_cases hbs : b ∈ s
     · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
@@ -1520,7 +1520,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+        subset_union_prime' hp', ← or_assoc, or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
     cases' s.eq_empty_or_nonempty with hse hsne
     · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
@@ -1533,7 +1533,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+        subset_union_prime' hp', ← or_assoc, or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
 -/
Diff
@@ -9,7 +9,7 @@ import Data.Nat.Choose.Sum
 import LinearAlgebra.Basis.Bilinear
 import RingTheory.Coprime.Lemmas
 import RingTheory.Ideal.Basic
-import RingTheory.NonZeroDivisors
+import Algebra.GroupWithZero.NonZeroDivisors
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
@@ -672,7 +672,7 @@ theorem span_singleton_mul_span_singleton (r s : R) :
 theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Ideal R) :=
   by
   induction' n with n ih; · simp [Set.singleton_one]
-  simp only [pow_succ, ih, span_singleton_mul_span_singleton]
+  simp only [pow_succ', ih, span_singleton_mul_span_singleton]
 #align ideal.span_singleton_pow Ideal.span_singleton_pow
 -/
 
@@ -1030,7 +1030,7 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
   · rw [pow_zero, pow_zero]; exact rfl.le
-  · rw [pow_succ, pow_succ]; exact Ideal.mul_mono e n_ih
+  · rw [pow_succ', pow_succ']; exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
 
 #print Ideal.mul_eq_bot /-
@@ -1211,7 +1211,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ∉ » m) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (x «expr ∉ » m) -/
 #print Ideal.radical_eq_sInf /-
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
@@ -1272,7 +1272,7 @@ variable (R)
 
 #print Ideal.top_pow /-
 theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ :=
-  Nat.recOn n one_eq_top fun n ih => by rw [pow_succ, ih, top_mul]
+  Nat.recOn n one_eq_top fun n ih => by rw [pow_succ', ih, top_mul]
 #align ideal.top_pow Ideal.top_pow
 -/
 
@@ -1287,7 +1287,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
       Or.cases_on (lt_or_eq_of_le <| Nat.le_of_lt_succ H)
         (fun H =>
           calc
-            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by rw [pow_succ];
+            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by rw [pow_succ'];
               exact radical_mul _ _
             _ = radical I ⊓ radical I := by rw [ih H]
             _ = radical I := inf_idem)
@@ -1371,8 +1371,8 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
       let ⟨r, hri, hrj⟩ := Set.not_subset.1 hij
       by_contradiction fun hsk =>
         Or.cases_on (h <| I.add_mem hri hsi)
-          (fun hj => hrj <| add_sub_cancel r s ▸ J.sub_mem hj ((h hsi).resolve_right hsk)) fun hk =>
-          hsk <| add_sub_cancel' r s ▸ K.sub_mem hk ((h hri).resolve_left hrj),
+          (fun hj => hrj <| add_sub_cancel_right r s ▸ J.sub_mem hj ((h hsi).resolve_right hsk))
+          fun hk => hsk <| add_sub_cancel_left r s ▸ K.sub_mem hk ((h hri).resolve_left hrj),
     fun h =>
     Or.cases_on h (fun h => Set.Subset.trans h <| Set.subset_union_left J K) fun h =>
       Set.Subset.trans h <| Set.subset_union_right J K⟩
@@ -1474,12 +1474,13 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   rw [Finset.coe_insert, Set.biUnion_insert] at h
   have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
   rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
-  · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
-  · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
-  · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
+  · exact hs (Or.inl <| Or.inl <| add_sub_cancel_left r s ▸ (f a).sub_mem ha hra)
+  · exact hs (Or.inl <| Or.inr <| add_sub_cancel_left r s ▸ (f b).sub_mem hb hrb)
+  · exact hri (add_sub_cancel_right r s ▸ (f i).sub_mem hi hsi)
   · rw [Set.mem_iUnion₂] at ht; rcases ht with ⟨j, hjt, hj⟩
     simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
-    exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
+    exact
+      hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel_left r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 -/
 
@@ -2052,7 +2053,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
       let ⟨s, hsi, hfsr⟩ := mem_image_of_mem_map_of_surjective f hf h
       Submodule.mem_sup.2
         ⟨s, hsi, r - s, (Submodule.mem_bot S).2 <| by rw [map_sub, hfsr, sub_self],
-          add_sub_cancel'_right s r⟩)
+          add_sub_cancel s r⟩)
     (sup_le (map_le_iff_le_comap.1 le_rfl) (comap_mono bot_le))
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 -/
@@ -2276,7 +2277,7 @@ theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
   induction n
   · rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]; exact rfl.le
-  · rw [pow_succ, pow_succ]; exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
+  · rw [pow_succ', pow_succ']; exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
 #align ideal.le_comap_pow Ideal.le_comap_pow
 -/
 
Diff
@@ -323,7 +323,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
-  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by rw [top_smul] at this ;
+  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by rw [top_smul] at this;
     exact this (subset_span (Set.mem_singleton x))
   rw [← hs, span_smul_span, span_le]
   simpa using H
@@ -825,8 +825,8 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
   rw [eq_top_iff_one, Submodule.mem_sup]
   constructor
   · rintro ⟨u, hu, v, hv, h1⟩
-    rw [mem_span_singleton'] at hu hv 
-    rw [← hu.some_spec, ← hv.some_spec] at h1 
+    rw [mem_span_singleton'] at hu hv
+    rw [← hu.some_spec, ← hv.some_spec] at h1
     exact ⟨_, _, h1⟩
   ·
     exact fun ⟨u, v, h1⟩ =>
@@ -871,7 +871,7 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
     by
-    rw [eq_top_iff_one] at h ; rw [Submodule.mem_sup] at h hi ⊢
+    rw [eq_top_iff_one] at h; rw [Submodule.mem_sup] at h hi ⊢
     obtain ⟨i1, hi1, j, hj, h⟩ := h; obtain ⟨i', hi', k, hk, hi⟩ := hi
     refine' ⟨_, add_mem hi' (mul_mem_right k _ hi1), _, mul_mem_mul hj hk, _⟩
     rw [add_assoc, ← add_mul, h, one_mul, hi]
@@ -885,13 +885,13 @@ theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J
 -/
 
 #print Ideal.mul_sup_eq_of_coprime_left /-
-theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h ;
+theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
 -/
 
 #print Ideal.mul_sup_eq_of_coprime_right /-
-theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h ;
+theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 -/
@@ -1230,7 +1230,7 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J
             hm (m ⊔ span {x}) hrmx le_sup_left ▸
               (le_sup_right : _ ≤ m ⊔ span {x}) (subset_span <| Set.mem_singleton _)
       have : IsPrime m :=
-        ⟨by rintro rfl <;> rw [radical_top] at hrm  <;> exact hrm trivial, fun x y hxym =>
+        ⟨by rintro rfl <;> rw [radical_top] at hrm <;> exact hrm trivial, fun x y hxym =>
           Classical.or_iff_not_imp_left.2 fun hxm =>
             by_contradiction fun hym =>
               let ⟨n, hrn⟩ := this _ hxm
@@ -1330,7 +1330,7 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
     simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
       exists_eq_left, imp_self]
   intro a s ih h
-  rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
+  rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h
   rw [Multiset.cons_swap]
   cases h
   · exact ⟨a, Multiset.mem_cons_self a _, h⟩
@@ -1405,8 +1405,8 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   generalize hn : s.card = n; intro h
   induction' n with n ih generalizing a b s
   · clear hp
-    rw [Finset.card_eq_zero] at hn ; subst hn
-    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h 
+    rw [Finset.card_eq_zero] at hn; subst hn
+    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
   replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
@@ -1424,10 +1424,10 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       exacts [hiu, hju]
     have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
       by
-      rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
+      rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h
       simp only [Set.biUnion_insert] at h ⊢
-      rw [← Set.union_assoc ↑(f i)] at h 
-      erw [Set.union_eq_self_of_subset_right hfji] at h 
+      rw [← Set.union_assoc ↑(f i)] at h
+      erw [Set.union_eq_self_of_subset_right hfji] at h
       exact h
     specialize ih a b (insert i u) hp' hn' h'
     refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
@@ -1436,8 +1436,8 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
       by
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_right_comm ↑(f a)] at
-        h 
-      erw [Set.union_eq_self_of_subset_left Ha] at h 
+        h
+      erw [Set.union_eq_self_of_subset_left Ha] at h
       exact h
     specialize ih i b t hp.2 hn h'; right
     rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
@@ -1447,8 +1447,8 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   by_cases Hb : f b ≤ f i
   · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
       by
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
-      erw [Set.union_eq_self_of_subset_left Hb] at h 
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h
+      erw [Set.union_eq_self_of_subset_left Hb] at h
       exact h
     specialize ih a i t hp.2 hn h'
     rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
@@ -1471,14 +1471,14 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
   exfalso
   rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-  rw [Finset.coe_insert, Set.biUnion_insert] at h 
+  rw [Finset.coe_insert, Set.biUnion_insert] at h
   have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
   rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
   · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
   · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
   · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-  · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
-    simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
+  · rw [Set.mem_iUnion₂] at ht; rcases ht with ⟨j, hjt, hj⟩
+    simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
     exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 -/
@@ -1504,13 +1504,13 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
             rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
-        Set.union_assoc, subset_union_prime' hp', bex_def] at h 
+        Set.union_assoc, subset_union_prime' hp', bex_def] at h
       rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
     · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
   · by_cases hbs : b ∈ s
     · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
@@ -1519,10 +1519,10 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
     cases' s.eq_empty_or_nonempty with hse hsne
-    · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
+    · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
       have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
       exact absurd h this
     · cases' hsne.bex with i his
@@ -1532,7 +1532,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
           solve_by_elim only [Finset.mem_insert_of_mem, *]
       rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
       rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
 -/
@@ -1855,7 +1855,7 @@ theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '
 
 #print Ideal.comap_isPrime /-
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
-  ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h ⟩
+  ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
 #align ideal.comap_is_prime Ideal.comap_isPrime
 -/
 
@@ -2020,7 +2020,7 @@ variable (hf : Function.Injective f)
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
   refine' le_trans (fun x hx => _) bot_le
-  rw [mem_comap, Submodule.mem_bot, ← map_zero f] at hx 
+  rw [mem_comap, Submodule.mem_bot, ← map_zero f] at hx
   exact Eq.symm (hf hx) ▸ Submodule.zero_mem ⊥
 #align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injective
 -/
@@ -2100,7 +2100,7 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
   refine' ⟨⟨comap_ne_top _ H.1.1, fun J hJ => _⟩⟩
   suffices map f J = ⊤ by
     replace this := congr_arg (comap f) this
-    rw [comap_top, comap_map_of_surjective _ hf, eq_top_iff] at this 
+    rw [comap_top, comap_map_of_surjective _ hf, eq_top_iff] at this
     rw [eq_top_iff]
     exact le_trans this (sup_le (le_of_eq rfl) (le_trans (comap_mono bot_le) (le_of_lt hJ)))
   refine'
@@ -2312,7 +2312,7 @@ theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ r
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
   ⟨mt radical_eq_top.1 hi.1, fun x y ⟨m, hxy⟩ =>
     by
-    rw [mul_pow] at hxy ; cases hi.2 hxy
+    rw [mul_pow] at hxy; cases hi.2 hxy
     · exact Or.inl ⟨m, h⟩
     · exact Or.inr (mem_radical_of_pow_mem h)⟩
 #align ideal.is_prime_radical Ideal.isPrime_radical
@@ -2327,7 +2327,7 @@ theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
     · exact Or.inl ⟨hxi, hxj⟩
     · exact Or.inr hyj
-    · rw [hij] at hyi ; exact Or.inr hyi⟩
+    · rw [hij] at hyi; exact Or.inr hyi⟩
 #align ideal.is_primary_inf Ideal.isPrimary_inf
 -/
 
@@ -2632,12 +2632,12 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
   by
   refine' ⟨fun h => H.ne_top (eq_top_iff.2 _), fun x y => _⟩
   · replace h := congr_arg (comap f) h
-    rw [comap_map_of_surjective _ hf, comap_top] at h 
+    rw [comap_map_of_surjective _ hf, comap_top] at h
     exact h ▸ sup_le (le_of_eq rfl) hk
   · refine' fun hxy => (hf x).recOn fun a ha => (hf y).recOn fun b hb => _
-    rw [← ha, ← hb, ← _root_.map_mul f, mem_map_iff_of_surjective _ hf] at hxy 
+    rw [← ha, ← hb, ← _root_.map_mul f, mem_map_iff_of_surjective _ hf] at hxy
     rcases hxy with ⟨c, hc, hc'⟩
-    rw [← sub_eq_zero, ← map_sub] at hc' 
+    rw [← sub_eq_zero, ← map_sub] at hc'
     have : a * b ∈ I :=
       by
       convert I.sub_mem hc (hk (hc' : c - a * b ∈ RingHom.ker f))
Diff
@@ -574,7 +574,15 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 
 #print Ideal.prod_mem_prod /-
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
-    (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by classical
+    (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by
+  classical
+  apply Finset.induction_on s
+  · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
+  · intro a s ha IH h
+    rw [Finset.prod_insert ha, Finset.prod_insert ha]
+    exact
+      mul_mem_mul (h a <| Finset.mem_insert_self a s)
+        (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
 -/
 
@@ -833,7 +841,13 @@ theorem mul_le_inf : I * J ≤ I ⊓ J :=
 -/
 
 #print Ideal.multiset_prod_le_inf /-
-theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by classical
+theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
+  classical
+  refine' s.induction_on _ _
+  · rw [Multiset.inf_zero]; exact le_top
+  intro a s ih
+  rw [Multiset.prod_cons, Multiset.inf_cons]
+  exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
 -/
 
@@ -1308,6 +1322,20 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
   suffices s.Prod ≤ P → ∃ I ∈ s, I ≤ P from
     ⟨this, fun ⟨i, his, hip⟩ => le_trans multiset_prod_le_inf <| le_trans (Multiset.inf_le his) hip⟩
   classical
+  obtain ⟨b, hb⟩ : ∃ b, b ∈ s := Multiset.exists_mem_of_ne_zero hne
+  obtain ⟨t, rfl⟩ : ∃ t, s = b ::ₘ t
+  exact ⟨s.erase b, (Multiset.cons_erase hb).symm⟩
+  refine' t.induction_on _ _
+  ·
+    simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
+      exists_eq_left, imp_self]
+  intro a s ih h
+  rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
+  rw [Multiset.cons_swap]
+  cases h
+  · exact ⟨a, Multiset.mem_cons_self a _, h⟩
+  obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
+  exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 -/
 
@@ -1381,6 +1409,77 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h 
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
+  replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
+    Finset.card_eq_succ.1 hn
+  rcases hn with ⟨i, t, hit, rfl, hn⟩
+  replace hp : is_prime (f i) ∧ ∀ x ∈ t, is_prime (f x) := (t.forall_mem_insert _ _).1 hp
+  by_cases Ht : ∃ j ∈ t, f j ≤ f i
+  · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
+    obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
+      ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
+    have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp ⊢;
+      exact ⟨hp.1, hp.2.2⟩
+    have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
+    have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn ⊢;
+      exacts [hiu, hju]
+    have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
+      by
+      rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
+      simp only [Set.biUnion_insert] at h ⊢
+      rw [← Set.union_assoc ↑(f i)] at h 
+      erw [Set.union_eq_self_of_subset_right hfji] at h 
+      exact h
+    specialize ih a b (insert i u) hp' hn' h'
+    refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
+    exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
+  by_cases Ha : f a ≤ f i
+  · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
+      by
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_right_comm ↑(f a)] at
+        h 
+      erw [Set.union_eq_self_of_subset_left Ha] at h 
+      exact h
+    specialize ih i b t hp.2 hn h'; right
+    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
+    · exact Or.inl ih
+    · exact Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
+  by_cases Hb : f b ≤ f i
+  · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
+      by
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
+      erw [Set.union_eq_self_of_subset_left Hb] at h 
+      exact h
+    specialize ih a i t hp.2 hn h'
+    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · exact Or.inl ih
+    · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩)
+    · exact Or.inr (Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩)
+  by_cases Hi : I ≤ f i
+  · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
+  have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i :=
+    by
+    rcases t.eq_empty_or_nonempty with (rfl | hsne)
+    · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
+      exact ⟨⟨Hi, Ha⟩, Hb⟩
+    simp only [hp.1.inf_le, hp.1.inf_le' hsne, not_or]
+    exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
+  rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
+  by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
+  · specialize ih hp.2 hn HI; rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · left; exact ih; · right; left; exact ih
+    · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
+  exfalso
+  rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
+  rw [Finset.coe_insert, Set.biUnion_insert] at h 
+  have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
+  rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
+  · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
+  · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
+  · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
+  · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
+    simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
+    exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 -/
 
@@ -1392,7 +1491,49 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
   suffices ((I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i) → ∃ i, i ∈ s ∧ I ≤ f i from
     ⟨fun h => bex_def.2 <| this h, fun ⟨i, his, hi⟩ =>
       Set.Subset.trans hi <| Set.subset_biUnion_of_mem <| show i ∈ (↑s : Set ι) from his⟩
-  fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by classical
+  fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by
+  classical
+  by_cases has : a ∈ s
+  · obtain ⟨t, hat, rfl⟩ : ∃ t, a ∉ t ∧ insert a t = s :=
+      ⟨s.erase a, Finset.not_mem_erase a s, Finset.insert_erase has⟩
+    by_cases hbt : b ∈ t
+    · obtain ⟨u, hbu, rfl⟩ : ∃ u, b ∉ u ∧ insert b u = t :=
+        ⟨t.erase b, Finset.not_mem_erase b t, Finset.insert_erase hbt⟩
+      have hp' : ∀ i ∈ u, is_prime (f i) := by intro i hiu;
+        refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
+            rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
+        Set.union_assoc, subset_union_prime' hp', bex_def] at h 
+      rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
+    · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
+  · by_cases hbs : b ∈ s
+    · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
+        ⟨s.erase b, Finset.not_mem_erase b s, Finset.insert_erase hbs⟩
+      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
+    cases' s.eq_empty_or_nonempty with hse hsne
+    · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
+      have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
+      exact absurd h this
+    · cases' hsne.bex with i his
+      obtain ⟨t, hit, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
+        ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
+      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
 -/
 
@@ -2235,6 +2376,10 @@ theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.spa
   refine' ⟨fun ⟨f, h⟩ => ⟨Finsupp.mapRange.linearMap I.subtype f, fun i => (f i).2, h⟩, _⟩
   rintro ⟨a, ha, rfl⟩
   classical
+  refine' ⟨a.map_range (fun r => if h : r ∈ I then ⟨r, h⟩ else 0) (by split_ifs <;> rfl), _⟩
+  rw [finsupp_total_apply, Finsupp.sum_mapRange_index]
+  · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
+  · exact fun _ => zero_smul _ _
 #align ideal.range_finsupp_total Ideal.range_finsuppTotal
 -/
 
Diff
@@ -574,15 +574,7 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 
 #print Ideal.prod_mem_prod /-
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
-    (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by
-  classical
-  apply Finset.induction_on s
-  · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
-  · intro a s ha IH h
-    rw [Finset.prod_insert ha, Finset.prod_insert ha]
-    exact
-      mul_mem_mul (h a <| Finset.mem_insert_self a s)
-        (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
+    (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by classical
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
 -/
 
@@ -841,13 +833,7 @@ theorem mul_le_inf : I * J ≤ I ⊓ J :=
 -/
 
 #print Ideal.multiset_prod_le_inf /-
-theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
-  classical
-  refine' s.induction_on _ _
-  · rw [Multiset.inf_zero]; exact le_top
-  intro a s ih
-  rw [Multiset.prod_cons, Multiset.inf_cons]
-  exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
+theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by classical
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
 -/
 
@@ -1322,20 +1308,6 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
   suffices s.Prod ≤ P → ∃ I ∈ s, I ≤ P from
     ⟨this, fun ⟨i, his, hip⟩ => le_trans multiset_prod_le_inf <| le_trans (Multiset.inf_le his) hip⟩
   classical
-  obtain ⟨b, hb⟩ : ∃ b, b ∈ s := Multiset.exists_mem_of_ne_zero hne
-  obtain ⟨t, rfl⟩ : ∃ t, s = b ::ₘ t
-  exact ⟨s.erase b, (Multiset.cons_erase hb).symm⟩
-  refine' t.induction_on _ _
-  ·
-    simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
-      exists_eq_left, imp_self]
-  intro a s ih h
-  rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
-  rw [Multiset.cons_swap]
-  cases h
-  · exact ⟨a, Multiset.mem_cons_self a _, h⟩
-  obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
-  exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 -/
 
@@ -1409,77 +1381,6 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h 
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
-  replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
-    Finset.card_eq_succ.1 hn
-  rcases hn with ⟨i, t, hit, rfl, hn⟩
-  replace hp : is_prime (f i) ∧ ∀ x ∈ t, is_prime (f x) := (t.forall_mem_insert _ _).1 hp
-  by_cases Ht : ∃ j ∈ t, f j ≤ f i
-  · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
-    obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
-      ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
-    have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp ⊢;
-      exact ⟨hp.1, hp.2.2⟩
-    have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
-    have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn ⊢;
-      exacts [hiu, hju]
-    have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
-      by
-      rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
-      simp only [Set.biUnion_insert] at h ⊢
-      rw [← Set.union_assoc ↑(f i)] at h 
-      erw [Set.union_eq_self_of_subset_right hfji] at h 
-      exact h
-    specialize ih a b (insert i u) hp' hn' h'
-    refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
-    exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
-  by_cases Ha : f a ≤ f i
-  · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
-      by
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_right_comm ↑(f a)] at
-        h 
-      erw [Set.union_eq_self_of_subset_left Ha] at h 
-      exact h
-    specialize ih i b t hp.2 hn h'; right
-    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-    · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
-    · exact Or.inl ih
-    · exact Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
-  by_cases Hb : f b ≤ f i
-  · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
-      by
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
-      erw [Set.union_eq_self_of_subset_left Hb] at h 
-      exact h
-    specialize ih a i t hp.2 hn h'
-    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-    · exact Or.inl ih
-    · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩)
-    · exact Or.inr (Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩)
-  by_cases Hi : I ≤ f i
-  · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
-  have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i :=
-    by
-    rcases t.eq_empty_or_nonempty with (rfl | hsne)
-    · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
-      exact ⟨⟨Hi, Ha⟩, Hb⟩
-    simp only [hp.1.inf_le, hp.1.inf_le' hsne, not_or]
-    exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
-  rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
-  by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
-  · specialize ih hp.2 hn HI; rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-    · left; exact ih; · right; left; exact ih
-    · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
-  exfalso
-  rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-  rw [Finset.coe_insert, Set.biUnion_insert] at h 
-  have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
-  rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
-  · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
-  · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
-  · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-  · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
-    simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
-    exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 -/
 
@@ -1491,49 +1392,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
   suffices ((I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i) → ∃ i, i ∈ s ∧ I ≤ f i from
     ⟨fun h => bex_def.2 <| this h, fun ⟨i, his, hi⟩ =>
       Set.Subset.trans hi <| Set.subset_biUnion_of_mem <| show i ∈ (↑s : Set ι) from his⟩
-  fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by
-  classical
-  by_cases has : a ∈ s
-  · obtain ⟨t, hat, rfl⟩ : ∃ t, a ∉ t ∧ insert a t = s :=
-      ⟨s.erase a, Finset.not_mem_erase a s, Finset.insert_erase has⟩
-    by_cases hbt : b ∈ t
-    · obtain ⟨u, hbu, rfl⟩ : ∃ u, b ∉ u ∧ insert b u = t :=
-        ⟨t.erase b, Finset.not_mem_erase b t, Finset.insert_erase hbt⟩
-      have hp' : ∀ i ∈ u, is_prime (f i) := by intro i hiu;
-        refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
-            rintro rfl <;>
-          solve_by_elim only [Finset.mem_insert_of_mem, *]
-      rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
-        Set.union_assoc, subset_union_prime' hp', bex_def] at h 
-      rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
-    · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-          solve_by_elim only [Finset.mem_insert_of_mem, *]
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-      rwa [Finset.exists_mem_insert]
-  · by_cases hbs : b ∈ s
-    · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
-        ⟨s.erase b, Finset.not_mem_erase b s, Finset.insert_erase hbs⟩
-      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-          solve_by_elim only [Finset.mem_insert_of_mem, *]
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-      rwa [Finset.exists_mem_insert]
-    cases' s.eq_empty_or_nonempty with hse hsne
-    · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
-      have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
-      exact absurd h this
-    · cases' hsne.bex with i his
-      obtain ⟨t, hit, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
-        ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
-      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-          solve_by_elim only [Finset.mem_insert_of_mem, *]
-      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
-        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-      rwa [Finset.exists_mem_insert]
+  fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by classical
 #align ideal.subset_union_prime Ideal.subset_union_prime
 -/
 
@@ -2376,10 +2235,6 @@ theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.spa
   refine' ⟨fun ⟨f, h⟩ => ⟨Finsupp.mapRange.linearMap I.subtype f, fun i => (f i).2, h⟩, _⟩
   rintro ⟨a, ha, rfl⟩
   classical
-  refine' ⟨a.map_range (fun r => if h : r ∈ I then ⟨r, h⟩ else 0) (by split_ifs <;> rfl), _⟩
-  rw [finsupp_total_apply, Finsupp.sum_mapRange_index]
-  · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
-  · exact fun _ => zero_smul _ _
 #align ideal.range_finsupp_total Ideal.range_finsuppTotal
 -/
 
Diff
@@ -1011,14 +1011,12 @@ theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
 
 variable {I J K}
 
-#print Ideal.pow_le_pow /-
 theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   by
   cases' Nat.exists_eq_add_of_le h with k hk
   rw [hk, pow_add]
   exact le_trans mul_le_inf inf_le_left
 #align ideal.pow_le_pow Ideal.pow_le_pow
--/
 
 #print Ideal.pow_le_self /-
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
@@ -1028,14 +1026,12 @@ theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
 #align ideal.pow_le_self Ideal.pow_le_self
 -/
 
-#print Ideal.pow_mono /-
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
   · rw [pow_zero, pow_zero]; exact rfl.le
   · rw [pow_succ, pow_succ]; exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
--/
 
 #print Ideal.mul_eq_bot /-
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
Diff
@@ -1041,7 +1041,7 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
-    or_iff_not_imp_left.mpr fun I_ne_bot =>
+    Classical.or_iff_not_imp_left.mpr fun I_ne_bot =>
       J.eq_bot_iff.mpr fun j hj =>
         let ⟨i, hi, ne0⟩ := I.ne_bot_iff.mp I_ne_bot
         Or.resolve_left (mul_eq_zero.mp ((I * J).eq_bot_iff.mp hij _ (mul_mem_mul hi hj))) ne0,
@@ -1235,7 +1235,7 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J
               (le_sup_right : _ ≤ m ⊔ span {x}) (subset_span <| Set.mem_singleton _)
       have : IsPrime m :=
         ⟨by rintro rfl <;> rw [radical_top] at hrm  <;> exact hrm trivial, fun x y hxym =>
-          or_iff_not_imp_left.2 fun hxm =>
+          Classical.or_iff_not_imp_left.2 fun hxm =>
             by_contradiction fun hym =>
               let ⟨n, hrn⟩ := this _ hxm
               let ⟨p, hpm, q, hq, hpqrn⟩ := Submodule.mem_sup.1 hrn
@@ -1303,7 +1303,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
 #print Ideal.IsPrime.mul_le /-
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h =>
-    or_iff_not_imp_left.2 fun hip j hj =>
+    Classical.or_iff_not_imp_left.2 fun hip j hj =>
       let ⟨i, hi, hip⟩ := Set.not_subset.1 hip
       (hp.mem_or_mem <| h <| mul_mem_mul hi hj).resolve_left hip,
     fun h =>
@@ -1371,7 +1371,7 @@ theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
   ⟨fun h =>
-    or_iff_not_imp_left.2 fun hij s hsi =>
+    Classical.or_iff_not_imp_left.2 fun hij s hsi =>
       let ⟨r, hri, hrj⟩ := Set.not_subset.1 hij
       by_contradiction fun hsk =>
         Or.cases_on (h <| I.add_mem hri hsi)
@@ -2089,7 +2089,7 @@ def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
   by
-  refine' or_iff_not_imp_left.2 fun ne_top => ⟨⟨fun h => ne_top h, fun J hJ => _⟩⟩
+  refine' Classical.or_iff_not_imp_left.2 fun ne_top => ⟨⟨fun h => ne_top h, fun J hJ => _⟩⟩
   · refine'
       (rel_iso_of_surjective f hf).Injective
         (Subtype.ext_iff.2 (Eq.trans (H.1.2 (comap f J) (lt_of_le_of_ne _ _)) comap_top.symm))
@@ -2179,7 +2179,7 @@ theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K
 #print Ideal.map.isMaximal /-
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
-      or_iff_not_imp_left.1 (map_eq_top_or_is_maximal_of_surjective f hf.right H) fun h =>
+      Classical.or_iff_not_imp_left.1 (map_eq_top_or_is_maximal_of_surjective f hf.right H) fun h =>
         H.1.1 _ <;>
     calc
       I = comap f (map f I) := ((rel_iso_of_bijective f hf).right_inv I).symm
Diff
@@ -3,13 +3,13 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 -/
-import Mathbin.Algebra.Algebra.Operations
-import Mathbin.Algebra.Ring.Equiv
-import Mathbin.Data.Nat.Choose.Sum
-import Mathbin.LinearAlgebra.Basis.Bilinear
-import Mathbin.RingTheory.Coprime.Lemmas
-import Mathbin.RingTheory.Ideal.Basic
-import Mathbin.RingTheory.NonZeroDivisors
+import Algebra.Algebra.Operations
+import Algebra.Ring.Equiv
+import Data.Nat.Choose.Sum
+import LinearAlgebra.Basis.Bilinear
+import RingTheory.Coprime.Lemmas
+import RingTheory.Ideal.Basic
+import RingTheory.NonZeroDivisors
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
@@ -1215,7 +1215,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ∉ » m) -/
 #print Ideal.radical_eq_sInf /-
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
@@ -1383,9 +1383,9 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 #align ideal.subset_union Ideal.subset_union
 -/
 
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:570:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:570:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:570:6: unsupported: specialize @hyp -/
 #print Ideal.subset_union_prime' /-
 theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} {a b : ι}
     (hp : ∀ i ∈ s, IsPrime (f i)) {I : Ideal R} :
Diff
@@ -1113,7 +1113,7 @@ theorem radical_eq_iff : I.radical = I ↔ I.IsRadical := by
 #align ideal.radical_eq_iff Ideal.radical_eq_iff
 -/
 
-alias radical_eq_iff ↔ _ is_radical.radical
+alias ⟨_, is_radical.radical⟩ := radical_eq_iff
 #align ideal.is_radical.radical Ideal.IsRadical.radical
 
 variable (R)
Diff
@@ -170,7 +170,7 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     smul_induction_on hx
       (fun r hri n hnm =>
         let ⟨s, hs⟩ := mem_span_singleton.1 hnm
-        ⟨r * s, I.mul_mem_right _ hri, hs ▸ mul_smul r s m⟩)
+        ⟨r * s, I.mul_mem_right _ hri, hs ▸ hMul_smul r s m⟩)
       fun m1 m2 ⟨y1, hyi1, hy1⟩ ⟨y2, hyi2, hy2⟩ =>
       ⟨y1 + y2, I.add_mem hyi1 hyi2, by rw [add_smul, hy1, hy2]⟩,
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
@@ -277,7 +277,7 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
     (smul_le.2 fun r hr sn hsn =>
       suffices J • N ≤ Submodule.comap (r • (LinearMap.id : M →ₗ[R] M)) ((I • J) • N) from this hsn
       smul_le.2 fun s hs n hn =>
-        show r • s • n ∈ (I • J) • N from mul_smul r s n ▸ smul_mem_smul (smul_mem_smul hr hs) hn)
+        show r • s • n ∈ (I • J) • N from hMul_smul r s n ▸ smul_mem_smul (smul_mem_smul hr hs) hn)
 #align submodule.smul_assoc Submodule.smul_assoc
 -/
 
@@ -2713,7 +2713,7 @@ instance moduleSubmodule : Module (Ideal R) (Submodule R M)
     where
   smul_add := smul_sup
   add_smul := sup_smul
-  mul_smul := Submodule.smul_assoc
+  hMul_smul := Submodule.smul_assoc
   one_smul := by simp
   zero_smul := bot_smul
   smul_zero := smul_bot
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
-
-! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Operations
 import Mathbin.Algebra.Ring.Equiv
@@ -16,6 +11,8 @@ import Mathbin.RingTheory.Coprime.Lemmas
 import Mathbin.RingTheory.Ideal.Basic
 import Mathbin.RingTheory.NonZeroDivisors
 
+#align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 # More operations on modules and ideals
 
@@ -1218,7 +1215,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » m) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
 #print Ideal.radical_eq_sInf /-
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
Diff
@@ -61,15 +61,20 @@ def annihilator (N : Submodule R M) : Ideal R :=
 
 variable {I J : Ideal R} {N P : Submodule R M}
 
+#print Submodule.mem_annihilator /-
 theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) :=
   ⟨fun hr n hn => congr_arg Subtype.val (LinearMap.ext_iff.1 (LinearMap.mem_ker.1 hr) ⟨n, hn⟩),
     fun h => LinearMap.mem_ker.2 <| LinearMap.ext fun n => Subtype.eq <| h n.1 n.2⟩
 #align submodule.mem_annihilator Submodule.mem_annihilator
+-/
 
+#print Submodule.mem_annihilator' /-
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
   mem_annihilator.trans ⟨fun H n hn => (mem_bot R).2 <| H n hn, fun H n hn => (mem_bot R).1 <| H hn⟩
 #align submodule.mem_annihilator' Submodule.mem_annihilator'
+-/
 
+#print Submodule.mem_annihilator_span /-
 theorem mem_annihilator_span (s : Set M) (r : R) :
     r ∈ (Submodule.span R s).annihilator ↔ ∀ n : s, r • (n : M) = 0 :=
   by
@@ -83,21 +88,28 @@ theorem mem_annihilator_span (s : Set M) (r : R) :
     · intro x y hx hy; rw [smul_add, hx, hy, zero_add]
     · intro a x hx; rw [smul_comm, hx, smul_zero]
 #align submodule.mem_annihilator_span Submodule.mem_annihilator_span
+-/
 
+#print Submodule.mem_annihilator_span_singleton /-
 theorem mem_annihilator_span_singleton (g : M) (r : R) :
     r ∈ (Submodule.span R ({g} : Set M)).annihilator ↔ r • g = 0 := by simp [mem_annihilator_span]
 #align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singleton
+-/
 
+#print Submodule.annihilator_bot /-
 theorem annihilator_bot : (⊥ : Submodule R M).annihilator = ⊤ :=
   (Ideal.eq_top_iff_one _).2 <| mem_annihilator'.2 bot_le
 #align submodule.annihilator_bot Submodule.annihilator_bot
+-/
 
+#print Submodule.annihilator_eq_top_iff /-
 theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
   ⟨fun H =>
     eq_bot_iff.2 fun (n : M) hn =>
       (mem_bot R).2 <| one_smul R n ▸ mem_annihilator.1 ((Ideal.eq_top_iff_one _).1 H) n hn,
     fun H => H.symm ▸ annihilator_bot⟩
 #align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iff
+-/
 
 #print Submodule.annihilator_mono /-
 theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun r hrp =>
@@ -105,6 +117,7 @@ theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun
 #align submodule.annihilator_mono Submodule.annihilator_mono
 -/
 
+#print Submodule.annihilator_iSup /-
 theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
   le_antisymm (le_iInf fun i => annihilator_mono <| le_iSup _ _) fun r H =>
@@ -113,6 +126,7 @@ theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
         have := (mem_iInf _).1 H i
         mem_annihilator'.1 this
 #align submodule.annihilator_supr Submodule.annihilator_iSup
+-/
 
 #print Submodule.smul_mem_smul /-
 theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I • N :=
@@ -126,6 +140,7 @@ theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N
 #align submodule.smul_le Submodule.smul_le
 -/
 
+#print Submodule.smul_induction_on /-
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x :=
@@ -135,7 +150,9 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
   rintro ⟨i, hi⟩ m ⟨j, hj, rfl : i • _ = m⟩
   exact Hb _ hi _ hj
 #align submodule.smul_induction_on Submodule.smul_induction_on
+-/
 
+#print Submodule.smul_induction_on' /-
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
 theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I • N → Prop}
@@ -147,7 +164,9 @@ theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I •
     smul_induction_on hx (fun a ha x hx => ⟨_, Hb _ ha _ hx⟩) fun x y ⟨_, hx⟩ ⟨_, hy⟩ =>
       ⟨_, H1 _ _ _ _ hx hy⟩
 #align submodule.smul_induction_on' Submodule.smul_induction_on'
+-/
 
+#print Submodule.mem_smul_span_singleton /-
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     x ∈ I • span R ({m} : Set M) ↔ ∃ y ∈ I, y • m = x :=
   ⟨fun hx =>
@@ -159,6 +178,7 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
       ⟨y1 + y2, I.add_mem hyi1 hyi2, by rw [add_smul, hy1, hy2]⟩,
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
 #align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singleton
+-/
 
 #print Submodule.smul_le_right /-
 theorem smul_le_right : I • N ≤ N :=
@@ -194,19 +214,25 @@ theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
 #align submodule.map_le_smul_top Submodule.map_le_smul_top
 -/
 
+#print Submodule.annihilator_smul /-
 @[simp]
 theorem annihilator_smul (N : Submodule R M) : annihilator N • N = ⊥ :=
   eq_bot_iff.2 (smul_le.2 fun r => mem_annihilator.1)
 #align submodule.annihilator_smul Submodule.annihilator_smul
+-/
 
+#print Submodule.annihilator_mul /-
 @[simp]
 theorem annihilator_mul (I : Ideal R) : annihilator I * I = ⊥ :=
   annihilator_smul I
 #align submodule.annihilator_mul Submodule.annihilator_mul
+-/
 
+#print Submodule.mul_annihilator /-
 @[simp]
 theorem mul_annihilator (I : Ideal R) : I * annihilator I = ⊥ := by rw [mul_comm, annihilator_mul]
 #align submodule.mul_annihilator Submodule.mul_annihilator
+-/
 
 variable (I J N P)
 
@@ -217,15 +243,19 @@ theorem smul_bot : I • (⊥ : Submodule R M) = ⊥ :=
 #align submodule.smul_bot Submodule.smul_bot
 -/
 
+#print Submodule.bot_smul /-
 @[simp]
 theorem bot_smul : (⊥ : Ideal R) • N = ⊥ :=
   map₂_bot_left _ _
 #align submodule.bot_smul Submodule.bot_smul
+-/
 
+#print Submodule.top_smul /-
 @[simp]
 theorem top_smul : (⊤ : Ideal R) • N = N :=
   le_antisymm smul_le_right fun r hri => one_smul R r ▸ smul_mem_smul mem_top hri
 #align submodule.top_smul Submodule.top_smul
+-/
 
 #print Submodule.smul_sup /-
 theorem smul_sup : I • (N ⊔ P) = I • N ⊔ I • P :=
@@ -233,9 +263,11 @@ theorem smul_sup : I • (N ⊔ P) = I • N ⊔ I • P :=
 #align submodule.smul_sup Submodule.smul_sup
 -/
 
+#print Submodule.sup_smul /-
 theorem sup_smul : (I ⊔ J) • N = I • N ⊔ J • N :=
   map₂_sup_left _ _ _ _
 #align submodule.sup_smul Submodule.sup_smul
+-/
 
 #print Submodule.smul_assoc /-
 protected theorem smul_assoc : (I • J) • N = I • J • N :=
@@ -258,14 +290,18 @@ theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I 
 #align submodule.smul_inf_le Submodule.smul_inf_le
 -/
 
+#print Submodule.smul_iSup /-
 theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
   map₂_iSup_right _ _ _
 #align submodule.smul_supr Submodule.smul_iSup
+-/
 
+#print Submodule.smul_iInf_le /-
 theorem smul_iInf_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
     I • iInf t ≤ ⨅ i, I • t i :=
   le_iInf fun i => smul_mono_right (iInf_le _ _)
 #align submodule.smul_infi_le Submodule.smul_iInf_le
+-/
 
 variable (S : Set R) (T : Set M)
 
@@ -286,6 +322,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 #align submodule.ideal_span_singleton_smul Submodule.ideal_span_singleton_smul
 -/
 
+#print Submodule.mem_of_span_top_of_smul_mem /-
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
@@ -294,7 +331,9 @@ theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal
   rw [← hs, span_smul_span, span_le]
   simpa using H
 #align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_mem
+-/
 
+#print Submodule.mem_of_span_eq_top_of_smul_pow_mem /-
 /-- Given `s`, a generating set of `R`, to check that an `x : M` falls in a
 submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `n` for each `r : s`. -/
 theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤)
@@ -311,6 +350,7 @@ theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs
   simp only [Subtype.coe_mk, smul_smul, ← pow_add]
   rw [tsub_add_cancel_of_le (Finset.le_sup (s'.mem_attach _) : n₁ ⟨r, hr⟩ ≤ N)]
 #align submodule.mem_of_span_eq_top_of_smul_pow_mem Submodule.mem_of_span_eq_top_of_smul_pow_mem
+-/
 
 variable {M' : Type w} [AddCommMonoid M'] [Module R M']
 
@@ -338,6 +378,7 @@ theorem mem_smul_span {s : Set M} {x : M} :
 
 variable (I)
 
+#print Submodule.mem_ideal_smul_span_iff_exists_sum /-
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
 theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M) :
@@ -363,12 +404,16 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
     refine' ⟨c • a, fun i => I.mul_mem_left c (ha i), _⟩
     rw [Finsupp.sum_smul_index, Finsupp.smul_sum] <;> intros <;> simp only [zero_smul, mul_smul]
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
+-/
 
+#print Submodule.mem_ideal_smul_span_iff_exists_sum' /-
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R) (ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
   by rw [← Submodule.mem_ideal_smul_span_iff_exists_sum, ← Set.image_eq_range]
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
+-/
 
+#print Submodule.mem_smul_top_iff /-
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
   by
@@ -379,6 +424,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   convert (Function.Injective.mem_set_image N.injective_subtype).symm using 1
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
+-/
 
 #print Submodule.smul_comap_le_comap_smul /-
 @[simp]
@@ -428,6 +474,7 @@ theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ 
 -/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
+#print Submodule.iInf_colon_iSup /-
 theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
     (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
   le_antisymm (le_iInf fun i => le_iInf fun j => colon_mono (iInf_le _ _) (le_iSup _ _)) fun r H =>
@@ -441,6 +488,7 @@ theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ :
                 have := (mem_iInf _).1 this j
                 this
 #align submodule.infi_colon_supr Submodule.iInf_colon_iSup
+-/
 
 #print Submodule.mem_colon_singleton /-
 @[simp]
@@ -453,11 +501,13 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 -/
 
+#print Ideal.mem_colon_singleton /-
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
     r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
   simp [← Ideal.submodule_span_eq, Submodule.mem_colon_singleton, smul_eq_mul]
 #align ideal.mem_colon_singleton Ideal.mem_colon_singleton
+-/
 
 end CommRing
 
@@ -469,20 +519,26 @@ section Add
 
 variable {R : Type u} [Semiring R]
 
+#print Ideal.add_eq_sup /-
 @[simp]
 theorem add_eq_sup {I J : Ideal R} : I + J = I ⊔ J :=
   rfl
 #align ideal.add_eq_sup Ideal.add_eq_sup
+-/
 
+#print Ideal.zero_eq_bot /-
 @[simp]
 theorem zero_eq_bot : (0 : Ideal R) = ⊥ :=
   rfl
 #align ideal.zero_eq_bot Ideal.zero_eq_bot
+-/
 
+#print Ideal.sum_eq_sup /-
 @[simp]
 theorem sum_eq_sup {ι : Type _} (s : Finset ι) (f : ι → Ideal R) : s.Sum f = s.sup f :=
   rfl
 #align ideal.sum_eq_sup Ideal.sum_eq_sup
+-/
 
 end Add
 
@@ -495,17 +551,23 @@ variable {I J K L : Ideal R}
 instance : Mul (Ideal R) :=
   ⟨(· • ·)⟩
 
+#print Ideal.one_eq_top /-
 @[simp]
 theorem one_eq_top : (1 : Ideal R) = ⊤ := by erw [Submodule.one_eq_range, LinearMap.range_id]
 #align ideal.one_eq_top Ideal.one_eq_top
+-/
 
+#print Ideal.mul_mem_mul /-
 theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
   Submodule.smul_mem_smul hr hs
 #align ideal.mul_mem_mul Ideal.mul_mem_mul
+-/
 
+#print Ideal.mul_mem_mul_rev /-
 theorem mul_mem_mul_rev {r s} (hr : r ∈ I) (hs : s ∈ J) : s * r ∈ I * J :=
   mul_comm r s ▸ mul_mem_mul hr hs
 #align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_rev
+-/
 
 #print Ideal.pow_mem_pow /-
 theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
@@ -513,6 +575,7 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 #align ideal.pow_mem_pow Ideal.pow_mem_pow
 -/
 
+#print Ideal.prod_mem_prod /-
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by
   classical
@@ -524,10 +587,13 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
       mul_mem_mul (h a <| Finset.mem_insert_self a s)
         (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
+-/
 
+#print Ideal.mul_le /-
 theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
 #align ideal.mul_le Ideal.mul_le
+-/
 
 #print Ideal.mul_le_left /-
 theorem mul_le_left : I * J ≤ J :=
@@ -541,25 +607,33 @@ theorem mul_le_right : I * J ≤ I :=
 #align ideal.mul_le_right Ideal.mul_le_right
 -/
 
+#print Ideal.sup_mul_right_self /-
 @[simp]
 theorem sup_mul_right_self : I ⊔ I * J = I :=
   sup_eq_left.2 Ideal.mul_le_right
 #align ideal.sup_mul_right_self Ideal.sup_mul_right_self
+-/
 
+#print Ideal.sup_mul_left_self /-
 @[simp]
 theorem sup_mul_left_self : I ⊔ J * I = I :=
   sup_eq_left.2 Ideal.mul_le_left
 #align ideal.sup_mul_left_self Ideal.sup_mul_left_self
+-/
 
+#print Ideal.mul_right_self_sup /-
 @[simp]
 theorem mul_right_self_sup : I * J ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_right
 #align ideal.mul_right_self_sup Ideal.mul_right_self_sup
+-/
 
+#print Ideal.mul_left_self_sup /-
 @[simp]
 theorem mul_left_self_sup : J * I ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_left
 #align ideal.mul_left_self_sup Ideal.mul_left_self_sup
+-/
 
 variable (I J K)
 
@@ -584,14 +658,18 @@ theorem span_mul_span (S T : Set R) : span S * span T = span (⋃ (s ∈ S) (t 
 
 variable {I J K}
 
+#print Ideal.span_mul_span' /-
 theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) := by unfold span;
   rw [Submodule.span_mul_span]
 #align ideal.span_mul_span' Ideal.span_mul_span'
+-/
 
+#print Ideal.span_singleton_mul_span_singleton /-
 theorem span_singleton_mul_span_singleton (r s : R) :
     span {r} * span {s} = (span {r * s} : Ideal R) := by unfold span;
   rw [Submodule.span_mul_span, Set.singleton_mul_singleton]
 #align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singleton
+-/
 
 #print Ideal.span_singleton_pow /-
 theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Ideal R) :=
@@ -601,20 +679,27 @@ theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Id
 #align ideal.span_singleton_pow Ideal.span_singleton_pow
 -/
 
+#print Ideal.mem_mul_span_singleton /-
 theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔ ∃ z ∈ I, z * y = x :=
   Submodule.mem_smul_span_singleton
 #align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singleton
+-/
 
+#print Ideal.mem_span_singleton_mul /-
 theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔ ∃ z ∈ I, y * z = x := by
   simp only [mul_comm, mem_mul_span_singleton]
 #align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mul
+-/
 
+#print Ideal.le_span_singleton_mul_iff /-
 theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
     I ≤ span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI :=
   show (∀ {zI} (hzI : zI ∈ I), zI ∈ span {x} * J) ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI by
     simp only [mem_span_singleton_mul]
 #align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iff
+-/
 
+#print Ideal.span_singleton_mul_le_iff /-
 theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J :=
   by
   simp only [mul_le, mem_span_singleton_mul, mem_span_singleton]
@@ -625,71 +710,97 @@ theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J 
     rw [mul_comm x z, mul_assoc]
     exact J.mul_mem_left _ (h zI hzI)
 #align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iff
+-/
 
+#print Ideal.span_singleton_mul_le_span_singleton_mul /-
 theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
     span {x} * I ≤ span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ := by
   simp only [span_singleton_mul_le_iff, mem_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mul
+-/
 
+#print Ideal.span_singleton_mul_right_mono /-
 theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I ≤ span {x} * J ↔ I ≤ J := by
   simp_rw [span_singleton_mul_le_span_singleton_mul, mul_right_inj' hx, exists_prop,
     exists_eq_right', SetLike.le_def]
 #align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_mono
+-/
 
+#print Ideal.span_singleton_mul_left_mono /-
 theorem span_singleton_mul_left_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} ≤ J * span {x} ↔ I ≤ J := by
   simpa only [mul_comm I, mul_comm J] using span_singleton_mul_right_mono hx
 #align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_mono
+-/
 
+#print Ideal.span_singleton_mul_right_inj /-
 theorem span_singleton_mul_right_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I = span {x} * J ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_right_mono hx]
 #align ideal.span_singleton_mul_right_inj Ideal.span_singleton_mul_right_inj
+-/
 
+#print Ideal.span_singleton_mul_left_inj /-
 theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} = J * span {x} ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_left_mono hx]
 #align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_inj
+-/
 
+#print Ideal.span_singleton_mul_right_injective /-
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
   (span_singleton_mul_right_inj hx).mp
 #align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injective
+-/
 
+#print Ideal.span_singleton_mul_left_injective /-
 theorem span_singleton_mul_left_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective fun I : Ideal R => I * span {x} := fun _ _ =>
   (span_singleton_mul_left_inj hx).mp
 #align ideal.span_singleton_mul_left_injective Ideal.span_singleton_mul_left_injective
+-/
 
+#print Ideal.eq_span_singleton_mul /-
 theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
     I = span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I := by
   simp only [le_antisymm_iff, le_span_singleton_mul_iff, span_singleton_mul_le_iff]
 #align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mul
+-/
 
+#print Ideal.span_singleton_mul_eq_span_singleton_mul /-
 theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
     span {x} * I = span {y} * J ↔
       (∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ) ∧ ∀ zJ ∈ J, ∃ zI ∈ I, x * zI = y * zJ :=
   by simp only [le_antisymm_iff, span_singleton_mul_le_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mul
+-/
 
+#print Ideal.prod_span /-
 theorem prod_span {ι : Type _} (s : Finset ι) (I : ι → Set R) :
     ∏ i in s, Ideal.span (I i) = Ideal.span (∏ i in s, I i) :=
   Submodule.prod_span s I
 #align ideal.prod_span Ideal.prod_span
+-/
 
+#print Ideal.prod_span_singleton /-
 theorem prod_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R) :
     ∏ i in s, Ideal.span ({I i} : Set R) = Ideal.span {∏ i in s, I i} :=
   Submodule.prod_span_singleton s I
 #align ideal.prod_span_singleton Ideal.prod_span_singleton
+-/
 
+#print Ideal.multiset_prod_span_singleton /-
 @[simp]
 theorem multiset_prod_span_singleton (m : Multiset R) :
     (m.map fun x => Ideal.span {x}).Prod = Ideal.span ({Multiset.prod m} : Set R) :=
   Multiset.induction_on m (by simp) fun a m ih => by
     simp only [Multiset.map_cons, Multiset.prod_cons, ih, ← Ideal.span_singleton_mul_span_singleton]
 #align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singleton
+-/
 
+#print Ideal.finset_inf_span_singleton /-
 theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
     (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
     (s.inf fun i => Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
@@ -698,7 +809,9 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   simp only [Submodule.mem_finset_inf, Ideal.mem_span_singleton]
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
+-/
 
+#print Ideal.iInf_span_singleton /-
 theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (hij : i ≠ j), IsCoprime (I i) (I j)) :
     (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} :=
@@ -706,7 +819,9 @@ theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
   rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
+-/
 
+#print Ideal.sup_eq_top_iff_isCoprime /-
 theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y :=
   by
@@ -720,6 +835,7 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     exact fun ⟨u, v, h1⟩ =>
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
+-/
 
 #print Ideal.mul_le_inf /-
 theorem mul_le_inf : I * J ≤ I ⊓ J :=
@@ -727,6 +843,7 @@ theorem mul_le_inf : I * J ≤ I ⊓ J :=
 #align ideal.mul_le_inf Ideal.mul_le_inf
 -/
 
+#print Ideal.multiset_prod_le_inf /-
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
   refine' s.induction_on _ _
@@ -735,11 +852,15 @@ theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   rw [Multiset.prod_cons, Multiset.inf_cons]
   exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
+-/
 
+#print Ideal.prod_le_inf /-
 theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.Prod f ≤ s.inf f :=
   multiset_prod_le_inf
 #align ideal.prod_le_inf Ideal.prod_le_inf
+-/
 
+#print Ideal.mul_eq_inf_of_coprime /-
 theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
   le_antisymm mul_le_inf fun r ⟨hri, hrj⟩ =>
     let ⟨s, hsi, t, htj, hst⟩ := Submodule.mem_sup.1 ((eq_top_iff_one _).1 h)
@@ -747,7 +868,9 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
       hst ▸
         (mul_add r s t).symm ▸ Ideal.add_mem (I * J) (mul_mem_mul_rev hsi hrj) (mul_mem_mul hri htj)
 #align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprime
+-/
 
+#print Ideal.sup_mul_eq_of_coprime_left /-
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
     by
@@ -756,53 +879,74 @@ theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :
     refine' ⟨_, add_mem hi' (mul_mem_right k _ hi1), _, mul_mem_mul hj hk, _⟩
     rw [add_assoc, ← add_mul, h, one_mul, hi]
 #align ideal.sup_mul_eq_of_coprime_left Ideal.sup_mul_eq_of_coprime_left
+-/
 
+#print Ideal.sup_mul_eq_of_coprime_right /-
 theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J := by rw [mul_comm];
   exact sup_mul_eq_of_coprime_left h
 #align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_right
+-/
 
+#print Ideal.mul_sup_eq_of_coprime_left /-
 theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h ;
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
+-/
 
+#print Ideal.mul_sup_eq_of_coprime_right /-
 theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h ;
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
+-/
 
+#print Ideal.sup_prod_eq_top /-
 theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     I ⊔ ∏ i in s, J i = ⊤ :=
   Finset.prod_induction _ (fun J => I ⊔ J = ⊤)
     (fun J K hJ hK => (sup_mul_eq_of_coprime_left hJ).trans hK) (by rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
+-/
 
+#print Ideal.sup_iInf_eq_top /-
 theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ⨅ i ∈ s, J i) = ⊤ :=
   eq_top_iff.mpr <|
     le_of_eq_of_le (sup_prod_eq_top h).symm <|
       sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_iInf _ _) _
 #align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_top
+-/
 
+#print Ideal.prod_sup_eq_top /-
 theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (∏ i in s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
+-/
 
+#print Ideal.iInf_sup_eq_top /-
 theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_iInf_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_top
+-/
 
+#print Ideal.sup_pow_eq_top /-
 theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ := by
   rw [← Finset.card_range n, ← Finset.prod_const]; exact sup_prod_eq_top fun _ _ => h
 #align ideal.sup_pow_eq_top Ideal.sup_pow_eq_top
+-/
 
+#print Ideal.pow_sup_eq_top /-
 theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ := by
   rw [← Finset.card_range n, ← Finset.prod_const]; exact prod_sup_eq_top fun _ _ => h
 #align ideal.pow_sup_eq_top Ideal.pow_sup_eq_top
+-/
 
+#print Ideal.pow_sup_pow_eq_top /-
 theorem pow_sup_pow_eq_top {m n : ℕ} (h : I ⊔ J = ⊤) : I ^ m ⊔ J ^ n = ⊤ :=
   sup_pow_eq_top (pow_sup_eq_top h)
 #align ideal.pow_sup_pow_eq_top Ideal.pow_sup_pow_eq_top
+-/
 
 variable (I)
 
@@ -813,10 +957,12 @@ theorem mul_bot : I * ⊥ = ⊥ :=
 #align ideal.mul_bot Ideal.mul_bot
 -/
 
+#print Ideal.bot_mul /-
 @[simp]
 theorem bot_mul : ⊥ * I = ⊥ :=
   Submodule.bot_smul I
 #align ideal.bot_mul Ideal.bot_mul
+-/
 
 #print Ideal.mul_top /-
 @[simp]
@@ -825,10 +971,12 @@ theorem mul_top : I * ⊤ = I :=
 #align ideal.mul_top Ideal.mul_top
 -/
 
+#print Ideal.top_mul /-
 @[simp]
 theorem top_mul : ⊤ * I = I :=
   Submodule.top_smul I
 #align ideal.top_mul Ideal.top_mul
+-/
 
 variable {I}
 
@@ -858,9 +1006,11 @@ theorem mul_sup : I * (J ⊔ K) = I * J ⊔ I * K :=
 #align ideal.mul_sup Ideal.mul_sup
 -/
 
+#print Ideal.sup_mul /-
 theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
   Submodule.sup_smul I J K
 #align ideal.sup_mul Ideal.sup_mul
+-/
 
 variable {I J K}
 
@@ -890,6 +1040,7 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
 #align ideal.pow_mono Ideal.pow_mono
 -/
 
+#print Ideal.mul_eq_bot /-
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
@@ -899,20 +1050,25 @@ theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
         Or.resolve_left (mul_eq_zero.mp ((I * J).eq_bot_iff.mp hij _ (mul_mem_mul hi hj))) ne0,
     fun h => by cases h <;> rw [← Ideal.mul_bot, h, Ideal.mul_comm]⟩
 #align ideal.mul_eq_bot Ideal.mul_eq_bot
+-/
 
 instance {R : Type _} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
     where eq_zero_or_eq_zero_of_mul_eq_zero I J := mul_eq_bot.1
 
+#print Ideal.prod_eq_bot /-
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 theorem prod_eq_bot {R : Type _} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
     s.Prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ :=
   prod_zero_iff_exists_zero
 #align ideal.prod_eq_bot Ideal.prod_eq_bot
+-/
 
+#print Ideal.span_pair_mul_span_pair /-
 theorem span_pair_mul_span_pair (w x y z : R) :
     (span {w, x} : Ideal R) * span {y, z} = span {w * y, w * z, x * y, x * z} := by
   simp_rw [span_insert, sup_mul, mul_sup, span_singleton_mul_span_singleton, sup_assoc]
 #align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pair
+-/
 
 #print Ideal.radical /-
 /-- The radical of an ideal `I` consists of the elements `r` such that `r^n ∈ I` for some `n`. -/
@@ -965,9 +1121,11 @@ alias radical_eq_iff ↔ _ is_radical.radical
 
 variable (R)
 
+#print Ideal.radical_top /-
 theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
   (eq_top_iff_one _).2 ⟨0, Submodule.mem_top⟩
 #align ideal.radical_top Ideal.radical_top
+-/
 
 variable {R}
 
@@ -1005,6 +1163,7 @@ theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J :=
 #align ideal.radical_le_radical_iff Ideal.radical_le_radical_iff
 -/
 
+#print Ideal.radical_eq_top /-
 theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
   ⟨fun h =>
     (eq_top_iff_one _).2 <|
@@ -1012,6 +1171,7 @@ theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
       @one_pow R _ n ▸ hn,
     fun h => h.symm ▸ radical_top R⟩
 #align ideal.radical_eq_top Ideal.radical_eq_top
+-/
 
 #print Ideal.IsPrime.isRadical /-
 theorem IsPrime.isRadical (H : IsPrime I) : I.IsRadical := fun r ⟨n, hrni⟩ =>
@@ -1027,10 +1187,12 @@ theorem IsPrime.radical (H : IsPrime I) : radical I = I :=
 
 variable (I J)
 
+#print Ideal.radical_sup /-
 theorem radical_sup : radical (I ⊔ J) = radical (radical I ⊔ radical J) :=
   le_antisymm (radical_mono <| sup_le_sup le_radical le_radical) <|
     radical_le_radical_iff.2 <| sup_le (radical_mono le_sup_left) (radical_mono le_sup_right)
 #align ideal.radical_sup Ideal.radical_sup
+-/
 
 #print Ideal.radical_inf /-
 theorem radical_inf : radical (I ⊓ J) = radical I ⊓ radical J :=
@@ -1057,6 +1219,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 -/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » m) -/
+#print Ideal.radical_eq_sInf /-
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
     by_contradiction fun hri =>
@@ -1093,25 +1256,32 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J
       hrm <|
         this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf {J : Ideal R | I ≤ J ∧ IsPrime J} ≤ m) hr
 #align ideal.radical_eq_Inf Ideal.radical_eq_sInf
+-/
 
+#print Ideal.isRadical_bot_of_noZeroDivisors /-
 theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
     (⊥ : Ideal R).IsRadical := fun x hx => hx.recOn fun n hn => pow_eq_zero hn
 #align ideal.is_radical_bot_of_no_zero_divisors Ideal.isRadical_bot_of_noZeroDivisors
+-/
 
+#print Ideal.radical_bot_of_noZeroDivisors /-
 @[simp]
 theorem radical_bot_of_noZeroDivisors {R : Type u} [CommSemiring R] [NoZeroDivisors R] :
     radical (⊥ : Ideal R) = ⊥ :=
   eq_bot_iff.2 isRadical_bot_of_noZeroDivisors
 #align ideal.radical_bot_of_no_zero_divisors Ideal.radical_bot_of_noZeroDivisors
+-/
 
 instance : IdemCommSemiring (Ideal R) :=
   Submodule.idemCommSemiring
 
 variable (R)
 
+#print Ideal.top_pow /-
 theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ :=
   Nat.recOn n one_eq_top fun n ih => by rw [pow_succ, ih, top_mul]
 #align ideal.top_pow Ideal.top_pow
+-/
 
 variable {R}
 
@@ -1152,6 +1322,7 @@ theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
 -/
 
+#print Ideal.IsPrime.multiset_prod_le /-
 theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P)
     (hne : s ≠ 0) : s.Prod ≤ P ↔ ∃ I ∈ s, I ≤ P :=
   by
@@ -1173,25 +1344,33 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
   obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
   exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
+-/
 
+#print Ideal.IsPrime.multiset_prod_map_le /-
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
     (hp : IsPrime P) (hne : s ≠ 0) : (s.map f).Prod ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   by
   rw [hp.multiset_prod_le (mt multiset.map_eq_zero.mp hne)]
   simp_rw [exists_prop, Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
+-/
 
+#print Ideal.IsPrime.prod_le /-
 theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hne : s.Nonempty) : s.Prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   hp.multiset_prod_map_le f (mt Finset.val_eq_zero.mp hne.ne_empty)
 #align ideal.is_prime.prod_le Ideal.IsPrime.prod_le
+-/
 
+#print Ideal.IsPrime.inf_le' /-
 theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hsne : s.Nonempty) : s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   ⟨fun h => (hp.prod_le hsne).1 <| le_trans prod_le_inf h, fun ⟨i, his, hip⟩ =>
     le_trans (Finset.inf_le his) hip⟩
 #align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'
+-/
 
+#print Ideal.subset_union /-
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
   ⟨fun h =>
@@ -1205,10 +1384,12 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     Or.cases_on h (fun h => Set.Subset.trans h <| Set.subset_union_left J K) fun h =>
       Set.Subset.trans h <| Set.subset_union_right J K⟩
 #align ideal.subset_union Ideal.subset_union
+-/
 
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
+#print Ideal.subset_union_prime' /-
 theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} {a b : ι}
     (hp : ∀ i ∈ s, IsPrime (f i)) {I : Ideal R} :
     ((I : Set R) ⊆ f a ∪ f b ∪ ⋃ i ∈ (↑s : Set ι), f i) ↔ I ≤ f a ∨ I ≤ f b ∨ ∃ i ∈ s, I ≤ f i :=
@@ -1307,7 +1488,9 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
     exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
+-/
 
+#print Ideal.subset_union_prime /-
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
     (hp : ∀ i ∈ s, i ≠ a → i ≠ b → IsPrime (f i)) {I : Ideal R} :
@@ -1359,9 +1542,11 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
       rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
+-/
 
 section Dvd
 
+#print Ideal.le_of_dvd /-
 /-- If `I` divides `J`, then `I` contains `J`.
 
 In a Dedekind domain, to divide and contain are equivalent, see `ideal.dvd_iff_le`.
@@ -1369,12 +1554,15 @@ In a Dedekind domain, to divide and contain are equivalent, see `ideal.dvd_iff_l
 theorem le_of_dvd {I J : Ideal R} : I ∣ J → J ≤ I
   | ⟨K, h⟩ => h.symm ▸ le_trans mul_le_inf inf_le_left
 #align ideal.le_of_dvd Ideal.le_of_dvd
+-/
 
+#print Ideal.isUnit_iff /-
 theorem isUnit_iff {I : Ideal R} : IsUnit I ↔ I = ⊤ :=
   isUnit_iff_dvd_one.trans
     ((@one_eq_top R _).symm ▸
       ⟨fun h => eq_top_iff.mpr (Ideal.le_of_dvd h), fun h => ⟨⊤, by rw [mul_top, h]⟩⟩)
 #align ideal.is_unit_iff Ideal.isUnit_iff
+-/
 
 #print Ideal.uniqueUnits /-
 instance uniqueUnits : Unique (Ideal R)ˣ
@@ -1402,8 +1590,6 @@ variable (f : F)
 
 variable {I J : Ideal R} {K L : Ideal S}
 
-include rc
-
 #print Ideal.map /-
 /-- `I.map f` is the span of the image of the ideal `I` under `f`, which may be bigger than
   the image itself. -/
@@ -1428,41 +1614,54 @@ def comap (I : Ideal S) : Ideal R where
 
 variable {f}
 
+#print Ideal.map_mono /-
 theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
   span_mono <| Set.image_subset _ h
 #align ideal.map_mono Ideal.map_mono
+-/
 
+#print Ideal.mem_map_of_mem /-
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
 #align ideal.mem_map_of_mem Ideal.mem_map_of_mem
+-/
 
+#print Ideal.apply_coe_mem_map /-
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
 #align ideal.apply_coe_mem_map Ideal.apply_coe_mem_map
+-/
 
+#print Ideal.map_le_iff_le_comap /-
 theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
   span_le.trans Set.image_subset_iff
 #align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comap
+-/
 
+#print Ideal.mem_comap /-
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
   Iff.rfl
 #align ideal.mem_comap Ideal.mem_comap
+-/
 
+#print Ideal.comap_mono /-
 theorem comap_mono (h : K ≤ L) : comap f K ≤ comap f L :=
   Set.preimage_mono fun x hx => h hx
 #align ideal.comap_mono Ideal.comap_mono
+-/
 
 variable (f)
 
+#print Ideal.comap_ne_top /-
 theorem comap_ne_top (hK : K ≠ ⊤) : comap f K ≠ ⊤ :=
   (ne_top_iff_one _).2 <| by rw [mem_comap, map_one] <;> exact (ne_top_iff_one _).1 hK
 #align ideal.comap_ne_top Ideal.comap_ne_top
+-/
 
 variable {G : Type _} [rcg : RingHomClass G S R]
 
-include rcg
-
+#print Ideal.map_le_comap_of_inv_on /-
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
   refine' Ideal.span_le.2 _
@@ -1470,24 +1669,29 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
   rw [SetLike.mem_coe, mem_comap, hf hx]
   exact hx
 #align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_on
+-/
 
+#print Ideal.comap_le_map_of_inv_on /-
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
 #align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_on
+-/
 
+#print Ideal.map_le_comap_of_inverse /-
 /-- The `ideal` version of `set.image_subset_preimage_of_inverse`. -/
 theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse g f) :
     I.map f ≤ I.comap g :=
   map_le_comap_of_inv_on _ _ _ <| h.LeftInvOn _
 #align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverse
+-/
 
+#print Ideal.comap_le_map_of_inverse /-
 /-- The `ideal` version of `set.preimage_subset_image_of_inverse`. -/
 theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse g f) :
     I.comap f ≤ I.map g :=
   comap_le_map_of_inv_on _ _ _ <| h.LeftInvOn _
 #align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverse
-
-omit rcg
+-/
 
 #print Ideal.IsPrime.comap /-
 instance IsPrime.comap [hK : K.IsPrime] : (comap f K).IsPrime :=
@@ -1497,139 +1701,186 @@ instance IsPrime.comap [hK : K.IsPrime] : (comap f K).IsPrime :=
 
 variable (I J K L)
 
+#print Ideal.map_top /-
 theorem map_top : map f ⊤ = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span ⟨1, trivial, map_one f⟩
 #align ideal.map_top Ideal.map_top
+-/
 
 variable (f)
 
+#print Ideal.gc_map_comap /-
 theorem gc_map_comap : GaloisConnection (Ideal.map f) (Ideal.comap f) := fun I J =>
   Ideal.map_le_iff_le_comap
 #align ideal.gc_map_comap Ideal.gc_map_comap
+-/
 
-omit rc
-
+#print Ideal.comap_id /-
 @[simp]
 theorem comap_id : I.comap (RingHom.id R) = I :=
   Ideal.ext fun _ => Iff.rfl
 #align ideal.comap_id Ideal.comap_id
+-/
 
+#print Ideal.map_id /-
 @[simp]
 theorem map_id : I.map (RingHom.id R) = I :=
   (gc_map_comap (RingHom.id R)).l_unique GaloisConnection.id comap_id
 #align ideal.map_id Ideal.map_id
+-/
 
+#print Ideal.comap_comap /-
 theorem comap_comap {T : Type _} [Semiring T] {I : Ideal T} (f : R →+* S) (g : S →+* T) :
     (I.comap g).comap f = I.comap (g.comp f) :=
   rfl
 #align ideal.comap_comap Ideal.comap_comap
+-/
 
+#print Ideal.map_map /-
 theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S →+* T) :
     (I.map f).map g = I.map (g.comp f) :=
   ((gc_map_comap f).compose (gc_map_comap g)).l_unique (gc_map_comap (g.comp f)) fun _ =>
     comap_comap _ _
 #align ideal.map_map Ideal.map_map
+-/
 
-include rc
-
+#print Ideal.map_span /-
 theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
   symm <|
     Submodule.span_eq_of_le _ (fun y ⟨x, hy, x_eq⟩ => x_eq ▸ mem_map_of_mem f (subset_span hy))
       (map_le_iff_le_comap.2 <| span_le.2 <| Set.image_subset_iff.1 subset_span)
 #align ideal.map_span Ideal.map_span
+-/
 
 variable {f I J K L}
 
+#print Ideal.map_le_of_le_comap /-
 theorem map_le_of_le_comap : I ≤ K.comap f → I.map f ≤ K :=
   (gc_map_comap f).l_le
 #align ideal.map_le_of_le_comap Ideal.map_le_of_le_comap
+-/
 
+#print Ideal.le_comap_of_map_le /-
 theorem le_comap_of_map_le : I.map f ≤ K → I ≤ K.comap f :=
   (gc_map_comap f).le_u
 #align ideal.le_comap_of_map_le Ideal.le_comap_of_map_le
+-/
 
+#print Ideal.le_comap_map /-
 theorem le_comap_map : I ≤ (I.map f).comap f :=
   (gc_map_comap f).le_u_l _
 #align ideal.le_comap_map Ideal.le_comap_map
+-/
 
+#print Ideal.map_comap_le /-
 theorem map_comap_le : (K.comap f).map f ≤ K :=
   (gc_map_comap f).l_u_le _
 #align ideal.map_comap_le Ideal.map_comap_le
+-/
 
+#print Ideal.comap_top /-
 @[simp]
 theorem comap_top : (⊤ : Ideal S).comap f = ⊤ :=
   (gc_map_comap f).u_top
 #align ideal.comap_top Ideal.comap_top
+-/
 
+#print Ideal.comap_eq_top_iff /-
 @[simp]
 theorem comap_eq_top_iff {I : Ideal S} : I.comap f = ⊤ ↔ I = ⊤ :=
   ⟨fun h => I.eq_top_iff_one.mpr (map_one f ▸ mem_comap.mp ((I.comap f).eq_top_iff_one.mp h)),
     fun h => by rw [h, comap_top]⟩
 #align ideal.comap_eq_top_iff Ideal.comap_eq_top_iff
+-/
 
+#print Ideal.map_bot /-
 @[simp]
 theorem map_bot : (⊥ : Ideal R).map f = ⊥ :=
   (gc_map_comap f).l_bot
 #align ideal.map_bot Ideal.map_bot
+-/
 
 variable (f I J K L)
 
+#print Ideal.map_comap_map /-
 @[simp]
 theorem map_comap_map : ((I.map f).comap f).map f = I.map f :=
   (gc_map_comap f).l_u_l_eq_l I
 #align ideal.map_comap_map Ideal.map_comap_map
+-/
 
+#print Ideal.comap_map_comap /-
 @[simp]
 theorem comap_map_comap : ((K.comap f).map f).comap f = K.comap f :=
   (gc_map_comap f).u_l_u_eq_u K
 #align ideal.comap_map_comap Ideal.comap_map_comap
+-/
 
+#print Ideal.map_sup /-
 theorem map_sup : (I ⊔ J).map f = I.map f ⊔ J.map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sup
 #align ideal.map_sup Ideal.map_sup
+-/
 
+#print Ideal.comap_inf /-
 theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
   rfl
 #align ideal.comap_inf Ideal.comap_inf
+-/
 
 variable {ι : Sort _}
 
+#print Ideal.map_iSup /-
 theorem map_iSup (K : ι → Ideal R) : (iSup K).map f = ⨆ i, (K i).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_iSup
 #align ideal.map_supr Ideal.map_iSup
+-/
 
+#print Ideal.comap_iInf /-
 theorem comap_iInf (K : ι → Ideal S) : (iInf K).comap f = ⨅ i, (K i).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_iInf
 #align ideal.comap_infi Ideal.comap_iInf
+-/
 
+#print Ideal.map_sSup /-
 theorem map_sSup (s : Set (Ideal R)) : (sSup s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sSup
 #align ideal.map_Sup Ideal.map_sSup
+-/
 
+#print Ideal.comap_sInf /-
 theorem comap_sInf (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_sInf
 #align ideal.comap_Inf Ideal.comap_sInf
+-/
 
+#print Ideal.comap_sInf' /-
 theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '' s, I :=
   trans (comap_sInf f s) (by rw [iInf_image])
 #align ideal.comap_Inf' Ideal.comap_sInf'
+-/
 
+#print Ideal.comap_isPrime /-
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
   ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h ⟩
 #align ideal.comap_is_prime Ideal.comap_isPrime
+-/
 
 variable {I J K L}
 
+#print Ideal.map_inf_le /-
 theorem map_inf_le : map f (I ⊓ J) ≤ map f I ⊓ map f J :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_l.map_inf_le _ _
 #align ideal.map_inf_le Ideal.map_inf_le
+-/
 
+#print Ideal.le_comap_sup /-
 theorem le_comap_sup : comap f K ⊔ comap f L ≤ comap f (K ⊔ L) :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_u.le_map_sup _ _
 #align ideal.le_comap_sup Ideal.le_comap_sup
+-/
 
-omit rc
-
+#print Ideal.smul_top_eq_map /-
 @[simp]
 theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
     (I : Ideal R) : I • (⊤ : Submodule R S) = (I.map (algebraMap R S)).restrictScalars R :=
@@ -1652,13 +1903,17 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
   · intro x y hx hy
     rw [smul_add]; exact Submodule.add_mem _ hx hy
 #align ideal.smul_top_eq_map Ideal.smul_top_eq_map
+-/
 
+#print Ideal.coe_restrictScalars /-
 @[simp]
 theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebra R S]
     (I : Ideal S) : (I.restrictScalars R : Set S) = ↑I :=
   rfl
 #align ideal.coe_restrict_scalars Ideal.coe_restrictScalars
+-/
 
+#print Ideal.restrictScalars_mul /-
 /-- The smallest `S`-submodule that contains all `x ∈ I * y ∈ J`
 is also the smallest `R`-submodule that does so. -/
 @[simp]
@@ -1670,20 +1925,21 @@ theorem restrictScalars_mul {R S : Type _} [CommSemiring R] [CommSemiring S] [Al
         Submodule.add_mem _)
     (Submodule.mul_le.mpr fun x hx y hy => Ideal.mul_mem_mul hx hy)
 #align ideal.restrict_scalars_mul Ideal.restrictScalars_mul
+-/
 
 section Surjective
 
 variable (hf : Function.Surjective f)
 
-include hf
-
 open Function
 
+#print Ideal.map_comap_of_surjective /-
 theorem map_comap_of_surjective (I : Ideal S) : map f (comap f I) = I :=
   le_antisymm (map_le_iff_le_comap.2 le_rfl) fun s hsi =>
     let ⟨r, hfrs⟩ := hf s
     hfrs ▸ (mem_map_of_mem f <| show f r ∈ I from hfrs.symm ▸ hsi)
 #align ideal.map_comap_of_surjective Ideal.map_comap_of_surjective
+-/
 
 #print Ideal.giMapComap /-
 /-- `map` and `comap` are adjoint, and the composition `map f ∘ comap f` is the
@@ -1694,30 +1950,43 @@ def giMapComap : GaloisInsertion (map f) (comap f) :=
 #align ideal.gi_map_comap Ideal.giMapComap
 -/
 
+#print Ideal.map_surjective_of_surjective /-
 theorem map_surjective_of_surjective : Surjective (map f) :=
   (giMapComap f hf).l_surjective
 #align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjective
+-/
 
+#print Ideal.comap_injective_of_surjective /-
 theorem comap_injective_of_surjective : Injective (comap f) :=
   (giMapComap f hf).u_injective
 #align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjective
+-/
 
+#print Ideal.map_sup_comap_of_surjective /-
 theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).map f = I ⊔ J :=
   (giMapComap f hf).l_sup_u _ _
 #align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjective
+-/
 
+#print Ideal.map_iSup_comap_of_surjective /-
 theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = iSup K :=
   (giMapComap f hf).l_iSup_u _
 #align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjective
+-/
 
+#print Ideal.map_inf_comap_of_surjective /-
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
 #align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjective
+-/
 
+#print Ideal.map_iInf_comap_of_surjective /-
 theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = iInf K :=
   (giMapComap f hf).l_iInf_u _
 #align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjective
+-/
 
+#print Ideal.mem_image_of_mem_map_of_surjective /-
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
     (fun y1 y2 ⟨x1, hx1i, hxy1⟩ ⟨x2, hx2i, hxy2⟩ =>
@@ -1726,22 +1995,27 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
     let ⟨d, hdc⟩ := hf c
     ⟨d * x, I.mul_mem_left _ hxi, hdc ▸ hxy ▸ map_mul f _ _⟩
 #align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjective
+-/
 
+#print Ideal.mem_map_iff_of_surjective /-
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
     hx.right ▸ mem_map_of_mem f hx.left⟩
 #align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjective
+-/
 
+#print Ideal.le_map_of_comap_le_of_surjective /-
 theorem le_map_of_comap_le_of_surjective : comap f K ≤ I → K ≤ map f I := fun h =>
   map_comap_of_surjective f hf K ▸ map_mono h
 #align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjective
+-/
 
-omit hf
-
+#print Ideal.map_eq_submodule_map /-
 theorem map_eq_submodule_map (f : R →+* S) [h : RingHomSurjective f] (I : Ideal R) :
     I.map f = Submodule.map f.toSemilinearMap I :=
   Submodule.ext fun x => mem_map_iff_of_surjective f h.1
 #align ideal.map_eq_submodule_map Ideal.map_eq_submodule_map
+-/
 
 end Surjective
 
@@ -1749,18 +2023,20 @@ section Injective
 
 variable (hf : Function.Injective f)
 
-include hf
-
+#print Ideal.comap_bot_le_of_injective /-
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
   refine' le_trans (fun x hx => _) bot_le
   rw [mem_comap, Submodule.mem_bot, ← map_zero f] at hx 
   exact Eq.symm (hf hx) ▸ Submodule.zero_mem ⊥
 #align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injective
+-/
 
+#print Ideal.comap_bot_of_injective /-
 theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
   le_bot_iff.mp (Ideal.comap_bot_le_of_injective f hf)
 #align ideal.comap_bot_of_injective Ideal.comap_bot_of_injective
+-/
 
 end Injective
 
@@ -1776,8 +2052,7 @@ section Surjective
 
 variable (hf : Function.Surjective f)
 
-include hf
-
+#print Ideal.comap_map_of_surjective /-
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
     (fun r h =>
@@ -1787,7 +2062,9 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
           add_sub_cancel'_right s r⟩)
     (sup_le (map_le_iff_le_comap.1 le_rfl) (comap_mono bot_le))
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
+-/
 
+#print Ideal.relIsoOfSurjective /-
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
     where
@@ -1802,6 +2079,7 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
     ⟨fun H => map_comap_of_surjective f hf I1 ▸ map_comap_of_surjective f hf I2 ▸ map_mono H,
       comap_mono⟩
 #align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjective
+-/
 
 #print Ideal.orderEmbeddingOfSurjective /-
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
@@ -1810,6 +2088,7 @@ def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
 #align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjective
 -/
 
+#print Ideal.map_eq_top_or_isMaximal_of_surjective /-
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
   by
@@ -1820,7 +2099,9 @@ theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     · exact map_le_iff_le_comap.1 (le_of_lt hJ)
     · exact fun h => hJ.right (le_map_of_comap_le_of_surjective f hf (le_of_eq h.symm))
 #align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjective
+-/
 
+#print Ideal.comap_isMaximal_of_surjective /-
 theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaximal (comap f K) :=
   by
   refine' ⟨⟨comap_ne_top _ H.1.1, fun J hJ => _⟩⟩
@@ -1836,40 +2117,47 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
   rw [comap_map_of_surjective _ hf, sup_eq_left]
   exact le_trans (comap_mono bot_le) (le_of_lt hJ)
 #align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjective
+-/
 
+#print Ideal.comap_le_comap_iff_of_surjective /-
 theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f J ↔ I ≤ J :=
   ⟨fun h => (map_comap_of_surjective f hf I).symm.le.trans (map_le_of_le_comap h), fun h =>
     le_comap_of_map_le ((map_comap_of_surjective f hf I).le.trans h)⟩
 #align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjective
+-/
 
 end Surjective
 
+#print Ideal.map_of_equiv /-
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f (map f.symm) = I`. -/
 @[simp]
 theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
     (I.map (f : R →+* S)).map (f.symm : S →+* R) = I := by
   simp [← RingEquiv.toRingHom_eq_coe, map_map]
 #align ideal.map_of_equiv Ideal.map_of_equiv
+-/
 
+#print Ideal.comap_of_equiv /-
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
 theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
     (I.comap (f.symm : S →+* R)).comap (f : R →+* S) = I := by
   simp [← RingEquiv.toRingHom_eq_coe, comap_comap]
 #align ideal.comap_of_equiv Ideal.comap_of_equiv
+-/
 
+#print Ideal.map_comap_of_equiv /-
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f I = comap f.symm I`. -/
 theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
   le_antisymm (le_comap_of_map_le (map_of_equiv I f).le)
     (le_map_of_comap_le_of_surjective _ f.Surjective (comap_of_equiv I f).le)
 #align ideal.map_comap_of_equiv Ideal.map_comap_of_equiv
+-/
 
 section Bijective
 
 variable (hf : Function.Bijective f)
 
-include hf
-
 #print Ideal.relIsoOfBijective /-
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
@@ -1884,11 +2172,14 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
 #align ideal.rel_iso_of_bijective Ideal.relIsoOfBijective
 -/
 
+#print Ideal.comap_le_iff_le_map /-
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
     (relIsoOfBijective f hf).right_inv I ▸ comap_mono h⟩
 #align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_map
+-/
 
+#print Ideal.map.isMaximal /-
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
       or_iff_not_imp_left.1 (map_eq_top_or_is_maximal_of_surjective f hf.right H) fun h =>
@@ -1898,14 +2189,17 @@ theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := b
       _ = comap f ⊤ := by rw [h]
       _ = ⊤ := by rw [comap_top]
 #align ideal.map.is_maximal Ideal.map.isMaximal
+-/
 
 end Bijective
 
+#print Ideal.RingEquiv.bot_maximal_iff /-
 theorem RingEquiv.bot_maximal_iff (e : R ≃+* S) :
     (⊥ : Ideal R).IsMaximal ↔ (⊥ : Ideal S).IsMaximal :=
   ⟨fun h => @map_bot _ _ _ _ _ _ e.toRingHom ▸ map.isMaximal e.toRingHom e.Bijective h, fun h =>
     @map_bot _ _ _ _ _ _ e.symm.toRingHom ▸ map.isMaximal e.symm.toRingHom e.symm.Bijective h⟩
 #align ideal.ring_equiv.bot_maximal_iff Ideal.RingEquiv.bot_maximal_iff
+-/
 
 end Ring
 
@@ -1921,8 +2215,7 @@ variable {I J : Ideal R} {K L : Ideal S}
 
 variable (I J K L)
 
-include rc
-
+#print Ideal.map_mul /-
 theorem map_mul : map f (I * J) = map f I * map f J :=
   le_antisymm
     (map_le_iff_le_comap.2 <|
@@ -1936,6 +2229,7 @@ theorem map_mul : map f (I * J) = map f I * map f J :=
             Set.singleton_subset_iff.2 <|
               hfri ▸ hfsj ▸ by rw [← map_mul] <;> exact mem_map_of_mem f (mul_mem_mul hri hsj))
 #align ideal.map_mul Ideal.map_mul
+-/
 
 #print Ideal.mapHom /-
 /-- The pushforward `ideal.map` as a monoid-with-zero homomorphism. -/
@@ -1948,40 +2242,50 @@ def mapHom : Ideal R →*₀ Ideal S where
 #align ideal.map_hom Ideal.mapHom
 -/
 
+#print Ideal.map_pow /-
 protected theorem map_pow (n : ℕ) : map f (I ^ n) = map f I ^ n :=
   map_pow (mapHom f) I n
 #align ideal.map_pow Ideal.map_pow
+-/
 
+#print Ideal.comap_radical /-
 theorem comap_radical : comap f (radical K) = radical (comap f K) := by ext;
   simpa only [radical, mem_comap, map_pow]
 #align ideal.comap_radical Ideal.comap_radical
+-/
 
 variable {K}
 
+#print Ideal.IsRadical.comap /-
 theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical := by
   rw [← hK.radical, comap_radical]; apply radical_is_radical
 #align ideal.is_radical.comap Ideal.IsRadical.comap
+-/
 
 variable {I J L}
 
+#print Ideal.map_radical_le /-
 theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
   map_le_iff_le_comap.2 fun r ⟨n, hrni⟩ => ⟨n, map_pow f r n ▸ mem_map_of_mem f hrni⟩
 #align ideal.map_radical_le Ideal.map_radical_le
+-/
 
+#print Ideal.le_comap_mul /-
 theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
   map_le_iff_le_comap.1 <|
     (map_mul f (comap f K) (comap f L)).symm ▸
       mul_mono (map_le_iff_le_comap.2 <| le_rfl) (map_le_iff_le_comap.2 <| le_rfl)
 #align ideal.le_comap_mul Ideal.le_comap_mul
+-/
 
+#print Ideal.le_comap_pow /-
 theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
   induction n
   · rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]; exact rfl.le
   · rw [pow_succ, pow_succ]; exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
 #align ideal.le_comap_pow Ideal.le_comap_pow
-
-omit rc
+-/
 
 end CommRing
 
@@ -2055,18 +2359,23 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 
 variable {ι M v}
 
+#print Ideal.finsuppTotal_apply /-
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
   dsimp [finsupp_total]
   rw [Finsupp.total_apply, Finsupp.sum_mapRange_index]
   exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply Ideal.finsuppTotal_apply
+-/
 
+#print Ideal.finsuppTotal_apply_eq_of_fintype /-
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i := by
   rw [finsupp_total_apply, Finsupp.sum_fintype]; exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintype
+-/
 
+#print Ideal.range_finsuppTotal /-
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
   ext
@@ -2079,6 +2388,7 @@ theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.spa
   · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
   · exact fun _ => zero_smul _ _
 #align ideal.range_finsupp_total Ideal.range_finsuppTotal
+-/
 
 end Total
 
@@ -2086,6 +2396,7 @@ section Basis
 
 variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
+#print Ideal.basisSpanSingleton /-
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
@@ -2094,7 +2405,9 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
         LinearEquiv.ofEq _ _ (by ext; simp [mem_span_singleton', mul_comm]) ≪≫ₗ
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
+-/
 
+#print Ideal.basisSpanSingleton_apply /-
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
     (basisSpanSingleton b hx i : S) = x * b i := by
@@ -2102,7 +2415,9 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
+-/
 
+#print Ideal.constr_basisSpanSingleton /-
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -2110,29 +2425,36 @@ theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCo
   b.ext fun i => by
     erw [Basis.constr_basis, Function.comp_apply, basis_span_singleton_apply, LinearMap.mul_apply']
 #align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingleton
+-/
 
 end Basis
 
 end Ideal
 
+#print Associates.mk_ne_zero' /-
 theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
+-/
 
+#print Basis.mem_ideal_iff /-
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
     (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι →₀ R, x = Finsupp.sum c fun i x => x • b i :=
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff
 #align basis.mem_ideal_iff Basis.mem_ideal_iff
+-/
 
+#print Basis.mem_ideal_iff' /-
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff' {ι R S : Type _} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
     {I : Ideal S} (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι → R, x = ∑ i, c i • b i :=
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff'
 #align basis.mem_ideal_iff' Basis.mem_ideal_iff'
+-/
 
 namespace RingHom
 
@@ -2144,8 +2466,6 @@ variable {F : Type _} {G : Type _} [Semiring R] [Semiring S] [Semiring T]
 
 variable [rcf : RingHomClass F R S] [rcg : RingHomClass G T S] (f : F) (g : G)
 
-include rcf
-
 #print RingHom.ker /-
 /-- Kernel of a ring homomorphism as an ideal of the domain. -/
 def ker : Ideal R :=
@@ -2153,36 +2473,42 @@ def ker : Ideal R :=
 #align ring_hom.ker RingHom.ker
 -/
 
+#print RingHom.mem_ker /-
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
 #align ring_hom.mem_ker RingHom.mem_ker
+-/
 
+#print RingHom.ker_eq /-
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
 #align ring_hom.ker_eq RingHom.ker_eq
+-/
 
+#print RingHom.ker_eq_comap_bot /-
 theorem ker_eq_comap_bot (f : F) : ker f = Ideal.comap f ⊥ :=
   rfl
 #align ring_hom.ker_eq_comap_bot RingHom.ker_eq_comap_bot
+-/
 
-omit rcf
-
+#print RingHom.comap_ker /-
 theorem comap_ker (f : S →+* R) (g : T →+* S) : f.ker.comap g = (f.comp g).ker := by
   rw [RingHom.ker_eq_comap_bot, Ideal.comap_comap, RingHom.ker_eq_comap_bot]
 #align ring_hom.comap_ker RingHom.comap_ker
+-/
 
-include rcf
-
+#print RingHom.not_one_mem_ker /-
 /-- If the target is not the zero ring, then one is not in the kernel.-/
 theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f := by rw [mem_ker, map_one];
   exact one_ne_zero
 #align ring_hom.not_one_mem_ker RingHom.not_one_mem_ker
+-/
 
+#print RingHom.ker_ne_top /-
 theorem ker_ne_top [Nontrivial S] (f : F) : ker f ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr <| not_one_mem_ker f
 #align ring_hom.ker_ne_top RingHom.ker_ne_top
-
-omit rcf
+-/
 
 end Semiring
 
@@ -2190,27 +2516,31 @@ section Ring
 
 variable {F : Type _} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
 
-include rc
-
+#print RingHom.injective_iff_ker_eq_bot /-
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ := by
   rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]; exact injective_iff_map_eq_zero' f
 #align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_bot
+-/
 
+#print RingHom.ker_eq_bot_iff_eq_zero /-
 theorem ker_eq_bot_iff_eq_zero : ker f = ⊥ ↔ ∀ x, f x = 0 → x = 0 := by
   rw [← injective_iff_map_eq_zero f, injective_iff_ker_eq_bot]
 #align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zero
+-/
 
-omit rc
-
+#print RingHom.ker_coe_equiv /-
 @[simp]
 theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_coe_equiv RingHom.ker_coe_equiv
+-/
 
+#print RingHom.ker_equiv /-
 @[simp]
 theorem ker_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_equiv RingHom.ker_equiv
+-/
 
 end Ring
 
@@ -2218,20 +2548,23 @@ section RingRing
 
 variable {F : Type _} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
 
-include rc
-
+#print RingHom.sub_mem_ker_iff /-
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
+-/
 
 end RingRing
 
+#print RingHom.ker_isPrime /-
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
 theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
   ⟨by rw [Ne.def, Ideal.eq_top_iff_one]; exact not_one_mem_ker f, fun x y => by
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
+-/
 
+#print RingHom.ker_isMaximal_of_surjective /-
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
 theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
     (hf : Function.Surjective f) : (ker f).IsMaximal :=
@@ -2246,6 +2579,7 @@ theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHom
   rw [mem_ker]
   simp only [hy, map_sub, map_one, map_mul, inv_mul_cancel (mt (mem_ker f).mpr hxf), sub_self]
 #align ring_hom.ker_is_maximal_of_surjective RingHom.ker_isMaximal_of_surjective
+-/
 
 end RingHom
 
@@ -2257,15 +2591,17 @@ section Semiring
 
 variable [Semiring R] [Semiring S] [rc : RingHomClass F R S]
 
-include rc
-
+#print Ideal.map_eq_bot_iff_le_ker /-
 theorem map_eq_bot_iff_le_ker {I : Ideal R} (f : F) : I.map f = ⊥ ↔ I ≤ RingHom.ker f := by
   rw [RingHom.ker, eq_bot_iff, map_le_iff_le_comap]
 #align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_ker
+-/
 
+#print Ideal.ker_le_comap /-
 theorem ker_le_comap {K : Ideal S} (f : F) : RingHom.ker f ≤ comap f K := fun x hx =>
   mem_comap.2 (((RingHom.mem_ker f).1 hx).symm ▸ K.zero_mem)
 #align ideal.ker_le_comap Ideal.ker_le_comap
+-/
 
 end Semiring
 
@@ -2273,8 +2609,7 @@ section Ring
 
 variable [Ring R] [Ring S] [rc : RingHomClass F R S]
 
-include rc
-
+#print Ideal.map_sInf /-
 theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) :=
   by
@@ -2296,7 +2631,9 @@ theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
       rw [RingHom.mem_ker, map_sub, hx, sub_self]
     simpa only [sub_add_cancel] using J.add_mem this hx'
 #align ideal.map_Inf Ideal.map_sInf
+-/
 
+#print Ideal.map_isPrime_of_surjective /-
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) :=
   by
@@ -2315,18 +2652,21 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
     exact
       (H.mem_or_mem this).imp (fun h => ha ▸ mem_map_of_mem f h) fun h => hb ▸ mem_map_of_mem f h
 #align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjective
+-/
 
+#print Ideal.map_eq_bot_iff_of_injective /-
 theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injective f) :
     I.map f = ⊥ ↔ I = ⊥ := by
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
 #align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injective
+-/
 
-omit rc
-
+#print Ideal.map_isPrime_of_equiv /-
 theorem map_isPrime_of_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') {I : Ideal R}
     [IsPrime I] : IsPrime (map f I) :=
   map_isPrime_of_surjective (EquivLike.surjective f) <| by simp only [RingHom.ker_equiv, bot_le]
 #align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equiv
+-/
 
 end Ring
 
@@ -2334,12 +2674,15 @@ section CommRing
 
 variable [CommRing R] [CommRing S]
 
+#print Ideal.map_eq_iff_sup_ker_eq_of_surjective /-
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
   rw [← (comap_injective_of_surjective f hf).eq_iff, comap_map_of_surjective f hf,
     comap_map_of_surjective f hf, RingHom.ker_eq_comap_bot]
 #align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjective
+-/
 
+#print Ideal.map_radical_of_surjective /-
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
   by
@@ -2355,6 +2698,7 @@ theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {
     haveI : J.is_prime := hJ.right
     refine' ⟨hJ' ▸ map_mono hJ.left, hJ' ▸ map_is_prime_of_surjective hf (le_trans h hJ.left)⟩
 #align ideal.map_radical_of_surjective Ideal.map_radical_of_surjective
+-/
 
 end CommRing
 
@@ -2387,6 +2731,7 @@ variable {A B C : Type _} [Ring A] [Ring B] [Ring C]
 
 variable (f : A →+* B) (f_inv : B → A)
 
+#print RingHom.liftOfRightInverseAux /-
 /-- Auxiliary definition used to define `lift_of_right_inverse` -/
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (hg : f.ker ≤ g.ker) :
     B →+* C :=
@@ -2406,13 +2751,17 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
       rw [f.mem_ker, f.map_sub, sub_eq_zero, f.map_mul]
       simp only [hf _] }
 #align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAux
+-/
 
+#print RingHom.liftOfRightInverseAux_comp_apply /-
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (a : A) : (f.liftOfRightInverseAux f_inv hf g hg) (f a) = g a :=
   f.toAddMonoidHom.liftOfRightInverse_comp_apply f_inv hf ⟨g.toAddMonoidHom, hg⟩ a
 #align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_apply
+-/
 
+#print RingHom.liftOfRightInverse /-
 /-- `lift_of_right_inverse f hf g hg` is the unique ring homomorphism `φ`
 
 * such that `φ.comp f = g` (`ring_hom.lift_of_right_inverse_comp`),
@@ -2443,7 +2792,9 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
     ext b
     simp [lift_of_right_inverse_aux, hf b]
 #align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverse
+-/
 
+#print RingHom.liftOfSurjective /-
 /-- A non-computable version of `ring_hom.lift_of_right_inverse` for when no computable right
 inverse is available, that uses `function.surj_inv`. -/
 @[simp]
@@ -2451,18 +2802,24 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
     { g : A →+* C // f.ker ≤ g.ker } ≃ (B →+* C) :=
   f.liftOfRightInverse (Function.surjInv hf) (Function.rightInverse_surjInv hf)
 #align ring_hom.lift_of_surjective RingHom.liftOfSurjective
+-/
 
+#print RingHom.liftOfRightInverse_comp_apply /-
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
     (f.liftOfRightInverse f_inv hf g) (f x) = g x :=
   f.liftOfRightInverseAux_comp_apply f_inv hf g.1 g.2 x
 #align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_apply
+-/
 
+#print RingHom.liftOfRightInverse_comp /-
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
   RingHom.ext <| f.liftOfRightInverse_comp_apply f_inv hf g
 #align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_comp
+-/
 
+#print RingHom.eq_liftOfRightInverse /-
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
     h = f.liftOfRightInverse f_inv hf ⟨g, hg⟩ :=
@@ -2470,6 +2827,7 @@ theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+*
   simp_rw [← hh]
   exact ((f.lift_of_right_inverse f_inv hf).apply_symm_apply _).symm
 #align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverse
+-/
 
 end RingHom
 
Diff
@@ -514,7 +514,7 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 -/
 
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
-    (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
+    (∀ i ∈ s, x i ∈ I i) → ∏ i in s, x i ∈ ∏ i in s, I i := by
   classical
   apply Finset.induction_on s
   · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
@@ -674,12 +674,12 @@ theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
 #align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mul
 
 theorem prod_span {ι : Type _} (s : Finset ι) (I : ι → Set R) :
-    (∏ i in s, Ideal.span (I i)) = Ideal.span (∏ i in s, I i) :=
+    ∏ i in s, Ideal.span (I i) = Ideal.span (∏ i in s, I i) :=
   Submodule.prod_span s I
 #align ideal.prod_span Ideal.prod_span
 
 theorem prod_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R) :
-    (∏ i in s, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
+    ∏ i in s, Ideal.span ({I i} : Set R) = Ideal.span {∏ i in s, I i} :=
   Submodule.prod_span_singleton s I
 #align ideal.prod_span_singleton Ideal.prod_span_singleton
 
@@ -770,7 +770,7 @@ theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 
 theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
-    (I ⊔ ∏ i in s, J i) = ⊤ :=
+    I ⊔ ∏ i in s, J i = ⊤ :=
   Finset.prod_induction _ (fun J => I ⊔ J = ⊤)
     (fun J K hJ hK => (sup_mul_eq_of_coprime_left hJ).trans hK) (by rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
Diff
@@ -450,7 +450,6 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     r ∈ N.colon (Submodule.span R {x}) ↔ ∀ a : R, r • a • x ∈ N := by
       simp [Submodule.mem_colon, Submodule.mem_span_singleton]
     _ ↔ r • x ∈ N := by simp_rw [smul_comm r] <;> exact SetLike.forall_smul_mem_iff
-    
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 -/
 
@@ -879,7 +878,6 @@ theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
-    
 #align ideal.pow_le_self Ideal.pow_le_self
 -/
 
@@ -1129,8 +1127,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
             radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by rw [pow_succ];
               exact radical_mul _ _
             _ = radical I ⊓ radical I := by rw [ih H]
-            _ = radical I := inf_idem
-            )
+            _ = radical I := inf_idem)
         fun H => H ▸ (pow_one I).symm ▸ rfl)
     H
 #align ideal.radical_pow Ideal.radical_pow
@@ -1209,9 +1206,9 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
       Set.Subset.trans h <| Set.subset_union_right J K⟩
 #align ideal.subset_union Ideal.subset_union
 
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
-/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
+/- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:567:6: unsupported: specialize @hyp -/
 theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} {a b : ι}
     (hp : ∀ i ∈ s, IsPrime (f i)) {I : Ideal R} :
     ((I : Set R) ⊆ f a ∪ f b ∪ ⋃ i ∈ (↑s : Set ι), f i) ↔ I ≤ f a ∨ I ≤ f b ∨ ∃ i ∈ s, I ≤ f i :=
@@ -1900,7 +1897,6 @@ theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := b
       I = comap f (map f I) := ((rel_iso_of_bijective f hf).right_inv I).symm
       _ = comap f ⊤ := by rw [h]
       _ = ⊤ := by rw [comap_top]
-      
 #align ideal.map.is_maximal Ideal.map.isMaximal
 
 end Bijective
Diff
@@ -1058,7 +1058,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » m) -/
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
     by_contradiction fun hri =>
Diff
@@ -376,7 +376,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   have : Submodule.map N.subtype (I • ⊤) = I • N := by
     rw [Submodule.map_smul'', Submodule.map_top, Submodule.range_subtype]
   rw [← this]
-  convert(Function.Injective.mem_set_image N.injective_subtype).symm using 1
+  convert (Function.Injective.mem_set_image N.injective_subtype).symm using 1
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
@@ -517,13 +517,13 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
-    apply Finset.induction_on s
-    · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
-    · intro a s ha IH h
-      rw [Finset.prod_insert ha, Finset.prod_insert ha]
-      exact
-        mul_mem_mul (h a <| Finset.mem_insert_self a s)
-          (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
+  apply Finset.induction_on s
+  · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
+  · intro a s ha IH h
+    rw [Finset.prod_insert ha, Finset.prod_insert ha]
+    exact
+      mul_mem_mul (h a <| Finset.mem_insert_self a s)
+        (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
 
 theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
@@ -730,11 +730,11 @@ theorem mul_le_inf : I * J ≤ I ⊓ J :=
 
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
-    refine' s.induction_on _ _
-    · rw [Multiset.inf_zero]; exact le_top
-    intro a s ih
-    rw [Multiset.prod_cons, Multiset.inf_cons]
-    exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
+  refine' s.induction_on _ _
+  · rw [Multiset.inf_zero]; exact le_top
+  intro a s ih
+  rw [Multiset.prod_cons, Multiset.inf_cons]
+  exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
 
 theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.Prod f ≤ s.inf f :=
@@ -920,7 +920,7 @@ theorem span_pair_mul_span_pair (w x y z : R) :
 /-- The radical of an ideal `I` consists of the elements `r` such that `r^n ∈ I` for some `n`. -/
 def radical (I : Ideal R) : Ideal R
     where
-  carrier := { r | ∃ n : ℕ, r ^ n ∈ I }
+  carrier := {r | ∃ n : ℕ, r ^ n ∈ I}
   zero_mem' := ⟨1, (pow_one (0 : R)).symm ▸ I.zero_mem⟩
   add_mem' := fun x y ⟨m, hxmi⟩ ⟨n, hyni⟩ =>
     ⟨m + n,
@@ -1059,11 +1059,11 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 -/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
-theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } :=
+theorem radical_eq_sInf (I : Ideal R) : radical I = sInf {J : Ideal R | I ≤ J ∧ IsPrime J} :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
     by_contradiction fun hri =>
       let ⟨m, (hrm : r ∉ radical m), him, hm⟩ :=
-        zorn_nonempty_partialOrder₀ { K : Ideal R | r ∉ radical K }
+        zorn_nonempty_partialOrder₀ {K : Ideal R | r ∉ radical K}
           (fun c hc hcc y hyc =>
             ⟨sSup c, fun ⟨n, hrnc⟩ =>
               let ⟨y, hyc, hrny⟩ := (Submodule.mem_sSup_of_directed ⟨y, hyc⟩ hcc.DirectedOn).1 hrnc
@@ -1093,7 +1093,7 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J
                       m.add_mem (m.mul_mem_right _ hpm)
                         (m.add_mem (m.mul_mem_left _ hfm) (m.mul_mem_left _ hxym))⟩⟩
       hrm <|
-        this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
+        this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf {J : Ideal R | I ≤ J ∧ IsPrime J} ≤ m) hr
 #align ideal.radical_eq_Inf Ideal.radical_eq_sInf
 
 theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
@@ -1161,20 +1161,20 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
   suffices s.Prod ≤ P → ∃ I ∈ s, I ≤ P from
     ⟨this, fun ⟨i, his, hip⟩ => le_trans multiset_prod_le_inf <| le_trans (Multiset.inf_le his) hip⟩
   classical
-    obtain ⟨b, hb⟩ : ∃ b, b ∈ s := Multiset.exists_mem_of_ne_zero hne
-    obtain ⟨t, rfl⟩ : ∃ t, s = b ::ₘ t
-    exact ⟨s.erase b, (Multiset.cons_erase hb).symm⟩
-    refine' t.induction_on _ _
-    ·
-      simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
-        exists_eq_left, imp_self]
-    intro a s ih h
-    rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
-    rw [Multiset.cons_swap]
-    cases h
-    · exact ⟨a, Multiset.mem_cons_self a _, h⟩
-    obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
-    exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
+  obtain ⟨b, hb⟩ : ∃ b, b ∈ s := Multiset.exists_mem_of_ne_zero hne
+  obtain ⟨t, rfl⟩ : ∃ t, s = b ::ₘ t
+  exact ⟨s.erase b, (Multiset.cons_erase hb).symm⟩
+  refine' t.induction_on _ _
+  ·
+    simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
+      exists_eq_left, imp_self]
+  intro a s ih h
+  rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
+  rw [Multiset.cons_swap]
+  cases h
+  · exact ⟨a, Multiset.mem_cons_self a _, h⟩
+  obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
+  exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
@@ -1238,77 +1238,77 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h 
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
-    replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
-      Finset.card_eq_succ.1 hn
-    rcases hn with ⟨i, t, hit, rfl, hn⟩
-    replace hp : is_prime (f i) ∧ ∀ x ∈ t, is_prime (f x) := (t.forall_mem_insert _ _).1 hp
-    by_cases Ht : ∃ j ∈ t, f j ≤ f i
-    · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
-      obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
-        ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
-      have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp ⊢;
-        exact ⟨hp.1, hp.2.2⟩
-      have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
-      have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn ⊢;
-        exacts [hiu, hju]
-      have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
-        by
-        rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
-        simp only [Set.biUnion_insert] at h ⊢
-        rw [← Set.union_assoc ↑(f i)] at h 
-        erw [Set.union_eq_self_of_subset_right hfji] at h 
-        exact h
-      specialize ih a b (insert i u) hp' hn' h'
-      refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
-      exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
-    by_cases Ha : f a ≤ f i
-    · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
-        by
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc,
-          Set.union_right_comm ↑(f a)] at h 
-        erw [Set.union_eq_self_of_subset_left Ha] at h 
-        exact h
-      specialize ih i b t hp.2 hn h'; right
-      rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-      · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
-      · exact Or.inl ih
-      · exact Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
-    by_cases Hb : f b ≤ f i
-    · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
-        by
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
-        erw [Set.union_eq_self_of_subset_left Hb] at h 
-        exact h
-      specialize ih a i t hp.2 hn h'
-      rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-      · exact Or.inl ih
-      · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩)
-      · exact Or.inr (Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩)
-    by_cases Hi : I ≤ f i
-    · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
-    have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i :=
+  replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
+    Finset.card_eq_succ.1 hn
+  rcases hn with ⟨i, t, hit, rfl, hn⟩
+  replace hp : is_prime (f i) ∧ ∀ x ∈ t, is_prime (f x) := (t.forall_mem_insert _ _).1 hp
+  by_cases Ht : ∃ j ∈ t, f j ≤ f i
+  · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
+    obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
+      ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
+    have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp ⊢;
+      exact ⟨hp.1, hp.2.2⟩
+    have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
+    have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn ⊢;
+      exacts [hiu, hju]
+    have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
+      by
+      rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
+      simp only [Set.biUnion_insert] at h ⊢
+      rw [← Set.union_assoc ↑(f i)] at h 
+      erw [Set.union_eq_self_of_subset_right hfji] at h 
+      exact h
+    specialize ih a b (insert i u) hp' hn' h'
+    refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
+    exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
+  by_cases Ha : f a ≤ f i
+  · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
       by
-      rcases t.eq_empty_or_nonempty with (rfl | hsne)
-      · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
-        exact ⟨⟨Hi, Ha⟩, Hb⟩
-      simp only [hp.1.inf_le, hp.1.inf_le' hsne, not_or]
-      exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
-    rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
-    by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
-    · specialize ih hp.2 hn HI; rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-      · left; exact ih; · right; left; exact ih
-      · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
-    exfalso
-    rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-    rw [Finset.coe_insert, Set.biUnion_insert] at h 
-    have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
-    rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
-    · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
-    · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
-    · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-    · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
-      simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
-      exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_right_comm ↑(f a)] at
+        h 
+      erw [Set.union_eq_self_of_subset_left Ha] at h 
+      exact h
+    specialize ih i b t hp.2 hn h'; right
+    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
+    · exact Or.inl ih
+    · exact Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
+  by_cases Hb : f b ≤ f i
+  · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
+      by
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
+      erw [Set.union_eq_self_of_subset_left Hb] at h 
+      exact h
+    specialize ih a i t hp.2 hn h'
+    rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · exact Or.inl ih
+    · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩)
+    · exact Or.inr (Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩)
+  by_cases Hi : I ≤ f i
+  · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
+  have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i :=
+    by
+    rcases t.eq_empty_or_nonempty with (rfl | hsne)
+    · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
+      exact ⟨⟨Hi, Ha⟩, Hb⟩
+    simp only [hp.1.inf_le, hp.1.inf_le' hsne, not_or]
+    exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
+  rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
+  by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
+  · specialize ih hp.2 hn HI; rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+    · left; exact ih; · right; left; exact ih
+    · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
+  exfalso
+  rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
+  rw [Finset.coe_insert, Set.biUnion_insert] at h 
+  have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
+  rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
+  · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
+  · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
+  · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
+  · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
+    simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
+    exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
@@ -1320,47 +1320,47 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
       Set.Subset.trans hi <| Set.subset_biUnion_of_mem <| show i ∈ (↑s : Set ι) from his⟩
   fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by
   classical
-    by_cases has : a ∈ s
-    · obtain ⟨t, hat, rfl⟩ : ∃ t, a ∉ t ∧ insert a t = s :=
-        ⟨s.erase a, Finset.not_mem_erase a s, Finset.insert_erase has⟩
-      by_cases hbt : b ∈ t
-      · obtain ⟨u, hbu, rfl⟩ : ∃ u, b ∉ u ∧ insert b u = t :=
-          ⟨t.erase b, Finset.not_mem_erase b t, Finset.insert_erase hbt⟩
-        have hp' : ∀ i ∈ u, is_prime (f i) := by intro i hiu;
-          refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
-              rintro rfl <;>
-            solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
-          Set.union_assoc, subset_union_prime' hp', bex_def] at h 
-        rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
-      · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-          refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-            solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-        rwa [Finset.exists_mem_insert]
-    · by_cases hbs : b ∈ s
-      · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
-          ⟨s.erase b, Finset.not_mem_erase b s, Finset.insert_erase hbs⟩
-        have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-          refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-            solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-        rwa [Finset.exists_mem_insert]
-      cases' s.eq_empty_or_nonempty with hse hsne
-      · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
-        have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
-        exact absurd h this
-      · cases' hsne.bex with i his
-        obtain ⟨t, hit, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
-          ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
-        have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
-          refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
-            solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
-        rwa [Finset.exists_mem_insert]
+  by_cases has : a ∈ s
+  · obtain ⟨t, hat, rfl⟩ : ∃ t, a ∉ t ∧ insert a t = s :=
+      ⟨s.erase a, Finset.not_mem_erase a s, Finset.insert_erase has⟩
+    by_cases hbt : b ∈ t
+    · obtain ⟨u, hbu, rfl⟩ : ∃ u, b ∉ u ∧ insert b u = t :=
+        ⟨t.erase b, Finset.not_mem_erase b t, Finset.insert_erase hbt⟩
+      have hp' : ∀ i ∈ u, is_prime (f i) := by intro i hiu;
+        refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
+            rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
+        Set.union_assoc, subset_union_prime' hp', bex_def] at h 
+      rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
+    · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
+  · by_cases hbs : b ∈ s
+    · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
+        ⟨s.erase b, Finset.not_mem_erase b s, Finset.insert_erase hbs⟩
+      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
+    cases' s.eq_empty_or_nonempty with hse hsne
+    · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
+      have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
+      exact absurd h this
+    · cases' hsne.bex with i his
+      obtain ⟨t, hit, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
+        ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
+      have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
+        refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
+          solve_by_elim only [Finset.mem_insert_of_mem, *]
+      rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
+        subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
+      rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
 
 section Dvd
@@ -2078,10 +2078,10 @@ theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.spa
   refine' ⟨fun ⟨f, h⟩ => ⟨Finsupp.mapRange.linearMap I.subtype f, fun i => (f i).2, h⟩, _⟩
   rintro ⟨a, ha, rfl⟩
   classical
-    refine' ⟨a.map_range (fun r => if h : r ∈ I then ⟨r, h⟩ else 0) (by split_ifs <;> rfl), _⟩
-    rw [finsupp_total_apply, Finsupp.sum_mapRange_index]
-    · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
-    · exact fun _ => zero_smul _ _
+  refine' ⟨a.map_range (fun r => if h : r ∈ I then ⟨r, h⟩ else 0) (by split_ifs <;> rfl), _⟩
+  rw [finsupp_total_apply, Finsupp.sum_mapRange_index]
+  · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
+  · exact fun _ => zero_smul _ _
 #align ideal.range_finsupp_total Ideal.range_finsuppTotal
 
 end Total
@@ -2348,7 +2348,7 @@ theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
   by
   rw [radical_eq_Inf, radical_eq_Inf]
-  have : ∀ J ∈ { J : Ideal R | I ≤ J ∧ J.IsPrime }, f.ker ≤ J := fun J hJ => le_trans h hJ.left
+  have : ∀ J ∈ {J : Ideal R | I ≤ J ∧ J.IsPrime}, f.ker ≤ J := fun J hJ => le_trans h hJ.left
   convert map_Inf hf this
   refine' funext fun j => propext ⟨_, _⟩
   · rintro ⟨hj, hj'⟩
Diff
@@ -289,7 +289,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
-  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by rw [top_smul] at this;
+  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by rw [top_smul] at this ;
     exact this (subset_span (Set.mem_singleton x))
   rw [← hs, span_smul_span, span_le]
   simpa using H
@@ -342,7 +342,7 @@ variable (I)
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
 theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M) :
     x ∈ I • span R (Set.range f) ↔
-      ∃ (a : ι →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
+      ∃ (a : ι →₀ R) (ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
   by
   constructor; swap
   · rintro ⟨a, ha, rfl⟩
@@ -365,7 +365,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
 
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
-    x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
+    x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R) (ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
   by rw [← Submodule.mem_ideal_smul_span_iff_exists_sum, ← Set.image_eq_range]
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
 
@@ -386,7 +386,7 @@ theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I :
     I • S.comap f ≤ (I • S).comap f :=
   by
   refine' submodule.smul_le.mpr fun r hr x hx => _
-  rw [Submodule.mem_comap] at hx⊢
+  rw [Submodule.mem_comap] at hx ⊢
   rw [f.map_smul]
   exact Submodule.smul_mem_smul hr hx
 #align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smul
@@ -518,7 +518,7 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
     apply Finset.induction_on s
-    · intro ; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
+    · intro; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
     · intro a s ha IH h
       rw [Finset.prod_insert ha, Finset.prod_insert ha]
       exact
@@ -714,8 +714,8 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
   rw [eq_top_iff_one, Submodule.mem_sup]
   constructor
   · rintro ⟨u, hu, v, hv, h1⟩
-    rw [mem_span_singleton'] at hu hv
-    rw [← hu.some_spec, ← hv.some_spec] at h1
+    rw [mem_span_singleton'] at hu hv 
+    rw [← hu.some_spec, ← hv.some_spec] at h1 
     exact ⟨_, _, h1⟩
   ·
     exact fun ⟨u, v, h1⟩ =>
@@ -752,7 +752,7 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
     by
-    rw [eq_top_iff_one] at h; rw [Submodule.mem_sup] at h hi⊢
+    rw [eq_top_iff_one] at h ; rw [Submodule.mem_sup] at h hi ⊢
     obtain ⟨i1, hi1, j, hj, h⟩ := h; obtain ⟨i', hi', k, hk, hi⟩ := hi
     refine' ⟨_, add_mem hi' (mul_mem_right k _ hi1), _, mul_mem_mul hj hk, _⟩
     rw [add_assoc, ← add_mul, h, one_mul, hi]
@@ -762,11 +762,11 @@ theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J
   exact sup_mul_eq_of_coprime_left h
 #align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_right
 
-theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h;
+theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h ;
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
 
-theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h;
+theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h ;
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 
@@ -1076,7 +1076,7 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J
             hm (m ⊔ span {x}) hrmx le_sup_left ▸
               (le_sup_right : _ ≤ m ⊔ span {x}) (subset_span <| Set.mem_singleton _)
       have : IsPrime m :=
-        ⟨by rintro rfl <;> rw [radical_top] at hrm <;> exact hrm trivial, fun x y hxym =>
+        ⟨by rintro rfl <;> rw [radical_top] at hrm  <;> exact hrm trivial, fun x y hxym =>
           or_iff_not_imp_left.2 fun hxm =>
             by_contradiction fun hym =>
               let ⟨n, hrn⟩ := this _ hxm
@@ -1169,7 +1169,7 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
       simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
         exists_eq_left, imp_self]
     intro a s ih h
-    rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h
+    rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h 
     rw [Multiset.cons_swap]
     cases h
     · exact ⟨a, Multiset.mem_cons_self a _, h⟩
@@ -1234,11 +1234,11 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   generalize hn : s.card = n; intro h
   induction' n with n ih generalizing a b s
   · clear hp
-    rw [Finset.card_eq_zero] at hn; subst hn
-    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
+    rw [Finset.card_eq_zero] at hn ; subst hn
+    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h 
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
-    replace hn : ∃ (i : ι)(t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
+    replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
       Finset.card_eq_succ.1 hn
     rcases hn with ⟨i, t, hit, rfl, hn⟩
     replace hp : is_prime (f i) ∧ ∀ x ∈ t, is_prime (f x) := (t.forall_mem_insert _ _).1 hp
@@ -1246,17 +1246,17 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
       obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
         ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
-      have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp⊢;
+      have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp ⊢;
         exact ⟨hp.1, hp.2.2⟩
       have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
-      have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn⊢;
-        exacts[hiu, hju]
+      have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn ⊢;
+        exacts [hiu, hju]
       have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
         by
-        rw [Finset.coe_insert] at h⊢; rw [Finset.coe_insert] at h
-        simp only [Set.biUnion_insert] at h⊢
-        rw [← Set.union_assoc ↑(f i)] at h
-        erw [Set.union_eq_self_of_subset_right hfji] at h
+        rw [Finset.coe_insert] at h ⊢; rw [Finset.coe_insert] at h 
+        simp only [Set.biUnion_insert] at h ⊢
+        rw [← Set.union_assoc ↑(f i)] at h 
+        erw [Set.union_eq_self_of_subset_right hfji] at h 
         exact h
       specialize ih a b (insert i u) hp' hn' h'
       refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
@@ -1265,8 +1265,8 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
         by
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc,
-          Set.union_right_comm ↑(f a)] at h
-        erw [Set.union_eq_self_of_subset_left Ha] at h
+          Set.union_right_comm ↑(f a)] at h 
+        erw [Set.union_eq_self_of_subset_left Ha] at h 
         exact h
       specialize ih i b t hp.2 hn h'; right
       rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
@@ -1276,8 +1276,8 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     by_cases Hb : f b ≤ f i
     · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
         by
-        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h
-        erw [Set.union_eq_self_of_subset_left Hb] at h
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h 
+        erw [Set.union_eq_self_of_subset_left Hb] at h 
         exact h
       specialize ih a i t hp.2 hn h'
       rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
@@ -1300,14 +1300,14 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
     exfalso
     rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-    rw [Finset.coe_insert, Set.biUnion_insert] at h
+    rw [Finset.coe_insert, Set.biUnion_insert] at h 
     have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
     rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
     · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
     · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
     · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-    · rw [Set.mem_iUnion₂] at ht; rcases ht with ⟨j, hjt, hj⟩
-      simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
+    · rw [Set.mem_iUnion₂] at ht ; rcases ht with ⟨j, hjt, hj⟩
+      simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr 
       exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
@@ -1331,13 +1331,13 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
               rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
-          Set.union_assoc, subset_union_prime' hp', bex_def] at h
+          Set.union_assoc, subset_union_prime' hp', bex_def] at h 
         rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
       · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
         rwa [Finset.exists_mem_insert]
     · by_cases hbs : b ∈ s
       · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
@@ -1346,10 +1346,10 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
         rwa [Finset.exists_mem_insert]
       cases' s.eq_empty_or_nonempty with hse hsne
-      · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
+      · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h 
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
         exact absurd h this
       · cases' hsne.bex with i his
@@ -1359,7 +1359,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
-          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
+          subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h 
         rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
 
@@ -1618,7 +1618,7 @@ theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '
 #align ideal.comap_Inf' Ideal.comap_sInf'
 
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
-  ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
+  ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h ⟩
 #align ideal.comap_is_prime Ideal.comap_isPrime
 
 variable {I J K L}
@@ -1757,7 +1757,7 @@ include hf
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
   refine' le_trans (fun x hx => _) bot_le
-  rw [mem_comap, Submodule.mem_bot, ← map_zero f] at hx
+  rw [mem_comap, Submodule.mem_bot, ← map_zero f] at hx 
   exact Eq.symm (hf hx) ▸ Submodule.zero_mem ⊥
 #align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injective
 
@@ -1829,7 +1829,7 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
   refine' ⟨⟨comap_ne_top _ H.1.1, fun J hJ => _⟩⟩
   suffices map f J = ⊤ by
     replace this := congr_arg (comap f) this
-    rw [comap_top, comap_map_of_surjective _ hf, eq_top_iff] at this
+    rw [comap_top, comap_map_of_surjective _ hf, eq_top_iff] at this 
     rw [eq_top_iff]
     exact le_trans this (sup_le (le_of_eq rfl) (le_trans (comap_mono bot_le) (le_of_lt hJ)))
   refine'
@@ -2019,7 +2019,7 @@ theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ r
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
   ⟨mt radical_eq_top.1 hi.1, fun x y ⟨m, hxy⟩ =>
     by
-    rw [mul_pow] at hxy; cases hi.2 hxy
+    rw [mul_pow] at hxy ; cases hi.2 hxy
     · exact Or.inl ⟨m, h⟩
     · exact Or.inr (mem_radical_of_pow_mem h)⟩
 #align ideal.is_prime_radical Ideal.isPrime_radical
@@ -2034,7 +2034,7 @@ theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
     · exact Or.inl ⟨hxi, hxj⟩
     · exact Or.inr hyj
-    · rw [hij] at hyi; exact Or.inr hyi⟩
+    · rw [hij] at hyi ; exact Or.inr hyi⟩
 #align ideal.is_primary_inf Ideal.isPrimary_inf
 -/
 
@@ -2306,12 +2306,12 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
   by
   refine' ⟨fun h => H.ne_top (eq_top_iff.2 _), fun x y => _⟩
   · replace h := congr_arg (comap f) h
-    rw [comap_map_of_surjective _ hf, comap_top] at h
+    rw [comap_map_of_surjective _ hf, comap_top] at h 
     exact h ▸ sup_le (le_of_eq rfl) hk
   · refine' fun hxy => (hf x).recOn fun a ha => (hf y).recOn fun b hb => _
-    rw [← ha, ← hb, ← _root_.map_mul f, mem_map_iff_of_surjective _ hf] at hxy
+    rw [← ha, ← hb, ← _root_.map_mul f, mem_map_iff_of_surjective _ hf] at hxy 
     rcases hxy with ⟨c, hc, hc'⟩
-    rw [← sub_eq_zero, ← map_sub] at hc'
+    rw [← sub_eq_zero, ← map_sub] at hc' 
     have : a * b ∈ I :=
       by
       convert I.sub_mem hc (hk (hc' : c - a * b ∈ RingHom.ker f))
Diff
@@ -26,7 +26,7 @@ import Mathbin.RingTheory.NonZeroDivisors
 
 universe u v w x
 
-open BigOperators Pointwise
+open scoped BigOperators Pointwise
 
 namespace Submodule
 
@@ -36,7 +36,7 @@ section CommSemiring
 
 variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
-open Pointwise
+open scoped Pointwise
 
 #print Submodule.hasSMul' /-
 instance hasSMul' : SMul (Ideal R) (Submodule R M) :=
@@ -99,9 +99,11 @@ theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
     fun H => H.symm ▸ annihilator_bot⟩
 #align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iff
 
+#print Submodule.annihilator_mono /-
 theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun r hrp =>
   mem_annihilator.2 fun n hn => mem_annihilator.1 hrp n <| h hn
 #align submodule.annihilator_mono Submodule.annihilator_mono
+-/
 
 theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
@@ -118,9 +120,11 @@ theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I •
 #align submodule.smul_mem_smul Submodule.smul_mem_smul
 -/
 
+#print Submodule.smul_le /-
 theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N, r • n ∈ P :=
   map₂_le
 #align submodule.smul_le Submodule.smul_le
+-/
 
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
@@ -156,22 +160,31 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
 #align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singleton
 
+#print Submodule.smul_le_right /-
 theorem smul_le_right : I • N ≤ N :=
   smul_le.2 fun r hr n => N.smul_mem r
 #align submodule.smul_le_right Submodule.smul_le_right
+-/
 
+#print Submodule.smul_mono /-
 theorem smul_mono (hij : I ≤ J) (hnp : N ≤ P) : I • N ≤ J • P :=
   map₂_le_map₂ hij hnp
 #align submodule.smul_mono Submodule.smul_mono
+-/
 
+#print Submodule.smul_mono_left /-
 theorem smul_mono_left (h : I ≤ J) : I • N ≤ J • N :=
   map₂_le_map₂_left h
 #align submodule.smul_mono_left Submodule.smul_mono_left
+-/
 
+#print Submodule.smul_mono_right /-
 theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
   map₂_le_map₂_right h
 #align submodule.smul_mono_right Submodule.smul_mono_right
+-/
 
+#print Submodule.map_le_smul_top /-
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
     Submodule.map f I ≤ I • (⊤ : Submodule R M) :=
   by
@@ -179,6 +192,7 @@ theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
   rw [← mul_one y, ← smul_eq_mul, f.map_smul]
   exact smul_mem_smul hy mem_top
 #align submodule.map_le_smul_top Submodule.map_le_smul_top
+-/
 
 @[simp]
 theorem annihilator_smul (N : Submodule R M) : annihilator N • N = ⊥ :=
@@ -238,9 +252,11 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
 #align submodule.smul_assoc Submodule.smul_assoc
 -/
 
+#print Submodule.smul_inf_le /-
 theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ :=
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
+-/
 
 theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
   map₂_iSup_right _ _ _
@@ -364,6 +380,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
+#print Submodule.smul_comap_le_comap_smul /-
 @[simp]
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
     I • S.comap f ≤ (I • S).comap f :=
@@ -373,6 +390,7 @@ theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I :
   rw [f.map_smul]
   exact Submodule.smul_mem_smul hr hx
 #align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smul
+-/
 
 end CommSemiring
 
@@ -397,13 +415,17 @@ theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
 #align submodule.mem_colon Submodule.mem_colon
 -/
 
+#print Submodule.mem_colon' /-
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
+-/
 
+#print Submodule.colon_mono /-
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun r hrnp =>
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
+-/
 
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
@@ -508,13 +530,17 @@ theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
 #align ideal.mul_le Ideal.mul_le
 
+#print Ideal.mul_le_left /-
 theorem mul_le_left : I * J ≤ J :=
   Ideal.mul_le.2 fun r hr s => J.mul_mem_left _
 #align ideal.mul_le_left Ideal.mul_le_left
+-/
 
+#print Ideal.mul_le_right /-
 theorem mul_le_right : I * J ≤ I :=
   Ideal.mul_le.2 fun r hr s hs => I.mul_mem_right _ hr
 #align ideal.mul_le_right Ideal.mul_le_right
+-/
 
 @[simp]
 theorem sup_mul_right_self : I ⊔ I * J = I :=
@@ -696,9 +722,11 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
 
+#print Ideal.mul_le_inf /-
 theorem mul_le_inf : I * J ≤ I ⊓ J :=
   mul_le.2 fun r hri s hsj => ⟨I.mul_mem_right s hri, J.mul_mem_left r hsj⟩
 #align ideal.mul_le_inf Ideal.mul_le_inf
+-/
 
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
@@ -805,17 +833,23 @@ theorem top_mul : ⊤ * I = I :=
 
 variable {I}
 
+#print Ideal.mul_mono /-
 theorem mul_mono (hik : I ≤ K) (hjl : J ≤ L) : I * J ≤ K * L :=
   Submodule.smul_mono hik hjl
 #align ideal.mul_mono Ideal.mul_mono
+-/
 
+#print Ideal.mul_mono_left /-
 theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K :=
   Submodule.smul_mono_left h
 #align ideal.mul_mono_left Ideal.mul_mono_left
+-/
 
+#print Ideal.mul_mono_right /-
 theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K :=
   Submodule.smul_mono_right h
 #align ideal.mul_mono_right Ideal.mul_mono_right
+-/
 
 variable (I J K)
 
@@ -831,26 +865,32 @@ theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
 
 variable {I J K}
 
+#print Ideal.pow_le_pow /-
 theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   by
   cases' Nat.exists_eq_add_of_le h with k hk
   rw [hk, pow_add]
   exact le_trans mul_le_inf inf_le_left
 #align ideal.pow_le_pow Ideal.pow_le_pow
+-/
 
+#print Ideal.pow_le_self /-
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
     
 #align ideal.pow_le_self Ideal.pow_le_self
+-/
 
+#print Ideal.pow_mono /-
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
   · rw [pow_zero, pow_zero]; exact rfl.le
   · rw [pow_succ, pow_succ]; exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
+-/
 
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
@@ -910,8 +950,10 @@ def IsRadical (I : Ideal R) : Prop :=
 #align ideal.is_radical Ideal.IsRadical
 -/
 
+#print Ideal.le_radical /-
 theorem le_radical : I ≤ radical I := fun r hri => ⟨1, (pow_one r).symm ▸ hri⟩
 #align ideal.le_radical Ideal.le_radical
+-/
 
 #print Ideal.radical_eq_iff /-
 /-- An ideal is radical iff it is equal to its radical. -/
@@ -931,8 +973,10 @@ theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
 
 variable {R}
 
+#print Ideal.radical_mono /-
 theorem radical_mono (H : I ≤ J) : radical I ≤ radical J := fun r ⟨n, hrni⟩ => ⟨n, H hrni⟩
 #align ideal.radical_mono Ideal.radical_mono
+-/
 
 variable (I)
 
@@ -951,13 +995,17 @@ theorem radical_idem : radical (radical I) = radical I :=
 
 variable {I}
 
+#print Ideal.IsRadical.radical_le_iff /-
 theorem IsRadical.radical_le_iff (hJ : J.IsRadical) : radical I ≤ J ↔ I ≤ J :=
   ⟨le_trans le_radical, fun h => hJ.radical ▸ radical_mono h⟩
 #align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iff
+-/
 
+#print Ideal.radical_le_radical_iff /-
 theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J :=
   (radical_isRadical J).radical_le_iff
 #align ideal.radical_le_radical_iff Ideal.radical_le_radical_iff
+-/
 
 theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
   ⟨fun h =>
@@ -1004,9 +1052,11 @@ theorem radical_mul : radical (I * J) = radical I ⊓ radical J :=
 
 variable {I J}
 
+#print Ideal.IsPrime.radical_le_iff /-
 theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
   hJ.IsRadical.radical_le_iff
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
+-/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } :=
@@ -1086,6 +1136,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
 #align ideal.radical_pow Ideal.radical_pow
 -/
 
+#print Ideal.IsPrime.mul_le /-
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h =>
     or_iff_not_imp_left.2 fun hip j hj =>
@@ -1095,11 +1146,14 @@ theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I 
     Or.cases_on h (le_trans <| le_trans mul_le_inf inf_le_left)
       (le_trans <| le_trans mul_le_inf inf_le_right)⟩
 #align ideal.is_prime.mul_le Ideal.IsPrime.mul_le
+-/
 
+#print Ideal.IsPrime.inf_le /-
 theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h => hp.mul_le.1 <| le_trans mul_le_inf h, fun h =>
     Or.cases_on h (le_trans inf_le_left) (le_trans inf_le_right)⟩
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
+-/
 
 theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P)
     (hne : s ≠ 0) : s.Prod ≤ P ↔ ∃ I ∈ s, I ≤ P :=
@@ -1752,10 +1806,12 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
       comap_mono⟩
 #align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjective
 
+#print Ideal.orderEmbeddingOfSurjective /-
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
 def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
   (relIsoOfSurjective f hf).toRelEmbedding.trans (Subtype.relEmbedding _ _)
 #align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjective
+-/
 
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
@@ -1817,6 +1873,7 @@ variable (hf : Function.Bijective f)
 
 include hf
 
+#print Ideal.relIsoOfBijective /-
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
     where
@@ -1828,6 +1885,7 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
       ((relIsoOfSurjective f hf.right).right_inv ⟨J, comap_bot_le_of_injective f hf.left⟩)
   map_rel_iff' _ _ := (relIsoOfSurjective f hf.right).map_rel_iff'
 #align ideal.rel_iso_of_bijective Ideal.relIsoOfBijective
+-/
 
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
@@ -1990,7 +2048,7 @@ variable (M : Type _) [AddCommGroup M] {R : Type _} [CommRing R] [Module R M] (I
 
 variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
-open BigOperators
+open scoped BigOperators
 
 #print Ideal.finsuppTotal /-
 /-- A variant of `finsupp.total` that takes in vectors valued in `I`. -/
Diff
@@ -61,33 +61,15 @@ def annihilator (N : Submodule R M) : Ideal R :=
 
 variable {I J : Ideal R} {N P : Submodule R M}
 
-/- warning: submodule.mem_annihilator -> Submodule.mem_annihilator is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator Submodule.mem_annihilatorₓ'. -/
 theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) :=
   ⟨fun hr n hn => congr_arg Subtype.val (LinearMap.ext_iff.1 (LinearMap.mem_ker.1 hr) ⟨n, hn⟩),
     fun h => LinearMap.mem_ker.2 <| LinearMap.ext fun n => Subtype.eq <| h n.1 n.2⟩
 #align submodule.mem_annihilator Submodule.mem_annihilator
 
-/- warning: submodule.mem_annihilator' -> Submodule.mem_annihilator' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator' Submodule.mem_annihilator'ₓ'. -/
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
   mem_annihilator.trans ⟨fun H n hn => (mem_bot R).2 <| H n hn, fun H n hn => (mem_bot R).1 <| H hn⟩
 #align submodule.mem_annihilator' Submodule.mem_annihilator'
 
-/- warning: submodule.mem_annihilator_span -> Submodule.mem_annihilator_span is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s), Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) n)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : Set.Elem.{u2} M s), Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span Submodule.mem_annihilator_spanₓ'. -/
 theorem mem_annihilator_span (s : Set M) (r : R) :
     r ∈ (Submodule.span R s).annihilator ↔ ∀ n : s, r • (n : M) = 0 :=
   by
@@ -102,32 +84,14 @@ theorem mem_annihilator_span (s : Set M) (r : R) :
     · intro a x hx; rw [smul_comm, hx, smul_zero]
 #align submodule.mem_annihilator_span Submodule.mem_annihilator_span
 
-/- warning: submodule.mem_annihilator_span_singleton -> Submodule.mem_annihilator_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) g)))) (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r g) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) g)))) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r g) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singletonₓ'. -/
 theorem mem_annihilator_span_singleton (g : M) (r : R) :
     r ∈ (Submodule.span R ({g} : Set M)).annihilator ↔ r • g = 0 := by simp [mem_annihilator_span]
 #align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singleton
 
-/- warning: submodule.annihilator_bot -> Submodule.annihilator_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) (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))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) (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))))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_bot Submodule.annihilator_botₓ'. -/
 theorem annihilator_bot : (⊥ : Submodule R M).annihilator = ⊤ :=
   (Ideal.eq_top_iff_one _).2 <| mem_annihilator'.2 bot_le
 #align submodule.annihilator_bot Submodule.annihilator_bot
 
-/- warning: submodule.annihilator_eq_top_iff -> Submodule.annihilator_eq_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) (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))))) (Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) (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))))) (Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iffₓ'. -/
 theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
   ⟨fun H =>
     eq_bot_iff.2 fun (n : M) hn =>
@@ -135,22 +99,10 @@ theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
     fun H => H.symm ▸ annihilator_bot⟩
 #align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iff
 
-/- warning: submodule.annihilator_mono -> Submodule.annihilator_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (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))))))) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 P) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (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))))))) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 P) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_mono Submodule.annihilator_monoₓ'. -/
 theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun r hrp =>
   mem_annihilator.2 fun n hn => mem_annihilator.1 hrp n <| h hn
 #align submodule.annihilator_mono Submodule.annihilator_mono
 
-/- warning: submodule.annihilator_supr -> Submodule.annihilator_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_supr Submodule.annihilator_iSupₓ'. -/
 theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
   le_antisymm (le_iInf fun i => annihilator_mono <| le_iSup _ _) fun r H =>
@@ -166,22 +118,10 @@ theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I •
 #align submodule.smul_mem_smul Submodule.smul_mem_smul
 -/
 
-/- warning: submodule.smul_le -> Submodule.smul_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) P)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) P)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_le Submodule.smul_leₓ'. -/
 theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N, r • n ∈ P :=
   map₂_le
 #align submodule.smul_le Submodule.smul_le
 
-/- warning: submodule.smul_induction_on -> Submodule.smul_induction_on is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
-Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on Submodule.smul_induction_onₓ'. -/
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x :=
@@ -192,9 +132,6 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
   exact Hb _ hi _ hj
 #align submodule.smul_induction_on Submodule.smul_induction_on
 
-/- warning: submodule.smul_induction_on' -> Submodule.smul_induction_on' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on' Submodule.smul_induction_on'ₓ'. -/
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
 theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I • N → Prop}
@@ -207,12 +144,6 @@ theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I •
       ⟨_, H1 _ _ _ _ hx hy⟩
 #align submodule.smul_induction_on' Submodule.smul_induction_on'
 
-/- warning: submodule.mem_smul_span_singleton -> Submodule.mem_smul_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => Exists.{0} (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)))) y I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) y I) => Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) y m) x)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singletonₓ'. -/
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     x ∈ I • span R ({m} : Set M) ↔ ∃ y ∈ I, y • m = x :=
   ⟨fun hx =>
@@ -225,52 +156,22 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
 #align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singleton
 
-/- warning: submodule.smul_le_right -> Submodule.smul_le_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) N
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) N
-Case conversion may be inaccurate. Consider using '#align submodule.smul_le_right Submodule.smul_le_rightₓ'. -/
 theorem smul_le_right : I • N ≤ N :=
   smul_le.2 fun r hr n => N.smul_mem r
 #align submodule.smul_le_right Submodule.smul_le_right
 
-/- warning: submodule.smul_mono -> Submodule.smul_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J P))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J P))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_mono Submodule.smul_monoₓ'. -/
 theorem smul_mono (hij : I ≤ J) (hnp : N ≤ P) : I • N ≤ J • P :=
   map₂_le_map₂ hij hnp
 #align submodule.smul_mono Submodule.smul_mono
 
-/- warning: submodule.smul_mono_left -> Submodule.smul_mono_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_mono_left Submodule.smul_mono_leftₓ'. -/
 theorem smul_mono_left (h : I ≤ J) : I • N ≤ J • N :=
   map₂_le_map₂_left h
 #align submodule.smul_mono_left Submodule.smul_mono_left
 
-/- warning: submodule.smul_mono_right -> Submodule.smul_mono_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I P))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I P))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_mono_right Submodule.smul_mono_rightₓ'. -/
 theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
   map₂_le_map₂_right h
 #align submodule.smul_mono_right Submodule.smul_mono_right
 
-/- warning: submodule.map_le_smul_top -> Submodule.map_le_smul_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align submodule.map_le_smul_top Submodule.map_le_smul_topₓ'. -/
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
     Submodule.map f I ≤ I • (⊤ : Submodule R M) :=
   by
@@ -279,34 +180,16 @@ theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
   exact smul_mem_smul hy mem_top
 #align submodule.map_le_smul_top Submodule.map_le_smul_top
 
-/- warning: submodule.annihilator_smul -> Submodule.annihilator_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_smul Submodule.annihilator_smulₓ'. -/
 @[simp]
 theorem annihilator_smul (N : Submodule R M) : annihilator N • N = ⊥ :=
   eq_bot_iff.2 (smul_le.2 fun r => mem_annihilator.1)
 #align submodule.annihilator_smul Submodule.annihilator_smul
 
-/- warning: submodule.annihilator_mul -> Submodule.annihilator_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I) I) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I) I) (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 submodule.annihilator_mul Submodule.annihilator_mulₓ'. -/
 @[simp]
 theorem annihilator_mul (I : Ideal R) : annihilator I * I = ⊥ :=
   annihilator_smul I
 #align submodule.annihilator_mul Submodule.annihilator_mul
 
-/- warning: submodule.mul_annihilator -> Submodule.mul_annihilator is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) I (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I)) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) I (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I)) (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 submodule.mul_annihilator Submodule.mul_annihilatorₓ'. -/
 @[simp]
 theorem mul_annihilator (I : Ideal R) : I * annihilator I = ⊥ := by rw [mul_comm, annihilator_mul]
 #align submodule.mul_annihilator Submodule.mul_annihilator
@@ -320,23 +203,11 @@ theorem smul_bot : I • (⊥ : Submodule R M) = ⊥ :=
 #align submodule.smul_bot Submodule.smul_bot
 -/
 
-/- warning: submodule.bot_smul -> Submodule.bot_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align submodule.bot_smul Submodule.bot_smulₓ'. -/
 @[simp]
 theorem bot_smul : (⊥ : Ideal R) • N = ⊥ :=
   map₂_bot_left _ _
 #align submodule.bot_smul Submodule.bot_smul
 
-/- warning: submodule.top_smul -> Submodule.top_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) N
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) N
-Case conversion may be inaccurate. Consider using '#align submodule.top_smul Submodule.top_smulₓ'. -/
 @[simp]
 theorem top_smul : (⊤ : Ideal R) • N = N :=
   le_antisymm smul_le_right fun r hri => one_smul R r ▸ smul_mem_smul mem_top hri
@@ -348,12 +219,6 @@ theorem smul_sup : I • (N ⊔ P) = I • N ⊔ I • P :=
 #align submodule.smul_sup Submodule.smul_sup
 -/
 
-/- warning: submodule.sup_smul -> Submodule.sup_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
-Case conversion may be inaccurate. Consider using '#align submodule.sup_smul Submodule.sup_smulₓ'. -/
 theorem sup_smul : (I ⊔ J) • N = I • N ⊔ J • N :=
   map₂_sup_left _ _ _ _
 #align submodule.sup_smul Submodule.sup_smul
@@ -373,32 +238,14 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
 #align submodule.smul_assoc Submodule.smul_assoc
 -/
 
-/- warning: submodule.smul_inf_le -> Submodule.smul_inf_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (M₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (M₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M₁ M₂)) (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I M₁) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I M₂))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (M₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (M₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M₁ M₂)) (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I M₁) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I M₂))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_inf_le Submodule.smul_inf_leₓ'. -/
 theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ :=
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
 
-/- warning: submodule.smul_supr -> Submodule.smul_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (iSup.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (iSup.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_supr Submodule.smul_iSupₓ'. -/
 theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
   map₂_iSup_right _ _ _
 #align submodule.smul_supr Submodule.smul_iSup
 
-/- warning: submodule.smul_infi_le -> Submodule.smul_iInf_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_iInf_leₓ'. -/
 theorem smul_iInf_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
     I • iInf t ≤ ⨅ i, I • t i :=
   le_iInf fun i => smul_mono_right (iInf_le _ _)
@@ -423,12 +270,6 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 #align submodule.ideal_span_singleton_smul Submodule.ideal_span_singleton_smul
 -/
 
-/- warning: submodule.mem_of_span_top_of_smul_mem -> Submodule.mem_of_span_top_of_smul_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) x) M') -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) x) M') -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_memₓ'. -/
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
@@ -438,9 +279,6 @@ theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal
   simpa using H
 #align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_mem
 
-/- warning: submodule.mem_of_span_eq_top_of_smul_pow_mem -> Submodule.mem_of_span_eq_top_of_smul_pow_mem is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_eq_top_of_smul_pow_mem Submodule.mem_of_span_eq_top_of_smul_pow_memₓ'. -/
 /-- Given `s`, a generating set of `R`, to check that an `x : M` falls in a
 submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `n` for each `r : s`. -/
 theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤)
@@ -484,9 +322,6 @@ theorem mem_smul_span {s : Set M} {x : M} :
 
 variable (I)
 
-/- warning: submodule.mem_ideal_smul_span_iff_exists_sum -> Submodule.mem_ideal_smul_span_iff_exists_sum is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sumₓ'. -/
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
 theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M) :
@@ -513,17 +348,11 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
     rw [Finsupp.sum_smul_index, Finsupp.smul_sum] <;> intros <;> simp only [zero_smul, mul_smul]
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
 
-/- warning: submodule.mem_ideal_smul_span_iff_exists_sum' -> Submodule.mem_ideal_smul_span_iff_exists_sum' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'ₓ'. -/
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
   by rw [← Submodule.mem_ideal_smul_span_iff_exists_sum, ← Set.image_eq_range]
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
 
-/- warning: submodule.mem_smul_top_iff -> Submodule.mem_smul_top_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_top_iff Submodule.mem_smul_top_iffₓ'. -/
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
   by
@@ -535,12 +364,6 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
-/- warning: submodule.smul_comap_le_comap_smul -> Submodule.smul_comap_le_comap_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I S))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I S))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smulₓ'. -/
 @[simp]
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
     I • S.comap f ≤ (I • S).comap f :=
@@ -574,29 +397,14 @@ theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
 #align submodule.mem_colon Submodule.mem_colon
 -/
 
-/- warning: submodule.mem_colon' -> Submodule.mem_colon' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
 
-/- warning: submodule.colon_mono -> Submodule.colon_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N₁ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {N₂ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₁ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₂ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) N₁ N₂) -> (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P₁ P₂) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₁ P₂) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₂ P₁))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {N₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) N₁ N₂) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P₁ P₂) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₁ P₂) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₂ P₁))
-Case conversion may be inaccurate. Consider using '#align submodule.colon_mono Submodule.colon_monoₓ'. -/
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun r hrnp =>
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
 
-/- warning: submodule.infi_colon_supr -> Submodule.iInf_colon_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iInf.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (iSup.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (iInf.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => iInf.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (iSup.{u2, u4} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₁ (fun (i : ι₁) => iInf.{u1, u4} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
-Case conversion may be inaccurate. Consider using '#align submodule.infi_colon_supr Submodule.iInf_colon_iSupₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
     (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
@@ -624,12 +432,6 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 -/
 
-/- warning: ideal.mem_colon_singleton -> Ideal.mem_colon_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r x) I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r x) I)
-Case conversion may be inaccurate. Consider using '#align ideal.mem_colon_singleton Ideal.mem_colon_singletonₓ'. -/
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
     r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
@@ -646,34 +448,16 @@ section Add
 
 variable {R : Type u} [Semiring R]
 
-/- warning: ideal.add_eq_sup -> Ideal.add_eq_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (HAdd.hAdd.{u1, u1, u1} (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (instHAdd.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (HAdd.hAdd.{u1, u1, u1} (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (instHAdd.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toAdd.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)
-Case conversion may be inaccurate. Consider using '#align ideal.add_eq_sup Ideal.add_eq_supₓ'. -/
 @[simp]
 theorem add_eq_sup {I J : Ideal R} : I + J = I ⊔ J :=
   rfl
 #align ideal.add_eq_sup Ideal.add_eq_sup
 
-/- warning: ideal.zero_eq_bot -> Ideal.zero_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R _inst_1) (OfNat.ofNat.{u1} (Ideal.{u1} R _inst_1) 0 (OfNat.mk.{u1} (Ideal.{u1} R _inst_1) 0 (Zero.zero.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toHasZero.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R _inst_1) (OfNat.ofNat.{u1} (Ideal.{u1} R _inst_1) 0 (Zero.toOfNat0.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toZero.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.instBotSubmodule.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.zero_eq_bot Ideal.zero_eq_botₓ'. -/
 @[simp]
 theorem zero_eq_bot : (0 : Ideal R) = ⊥ :=
   rfl
 #align ideal.zero_eq_bot Ideal.zero_eq_bot
 
-/- warning: ideal.sum_eq_sup -> Ideal.sum_eq_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Finset.sum.{u1, u2} (Ideal.{u1} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f) (Finset.sup.{u1, u2} (Ideal.{u1} R _inst_1) ι (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (Submodule.orderBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> (Ideal.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Finset.sum.{u2, u1} (Ideal.{u2} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f) (Finset.sup.{u2, u1} (Ideal.{u2} R _inst_1) ι (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f)
-Case conversion may be inaccurate. Consider using '#align ideal.sum_eq_sup Ideal.sum_eq_supₓ'. -/
 @[simp]
 theorem sum_eq_sup {ι : Type _} (s : Finset ι) (f : ι → Ideal R) : s.Sum f = s.sup f :=
   rfl
@@ -690,32 +474,14 @@ variable {I J K L : Ideal R}
 instance : Mul (Ideal R) :=
   ⟨(· • ·)⟩
 
-/- warning: ideal.one_eq_top -> Ideal.one_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OfNat.ofNat.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (OfNat.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (One.one.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.one.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (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))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OfNat.ofNat.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (One.toOfNat1.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.one.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (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))))
-Case conversion may be inaccurate. Consider using '#align ideal.one_eq_top Ideal.one_eq_topₓ'. -/
 @[simp]
 theorem one_eq_top : (1 : Ideal R) = ⊤ := by erw [Submodule.one_eq_range, LinearMap.range_id]
 #align ideal.one_eq_top Ideal.one_eq_top
 
-/- warning: ideal.mul_mem_mul -> Ideal.mul_mem_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul Ideal.mul_mem_mulₓ'. -/
 theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
   Submodule.smul_mem_smul hr hs
 #align ideal.mul_mem_mul Ideal.mul_mem_mul
 
-/- warning: ideal.mul_mem_mul_rev -> Ideal.mul_mem_mul_rev is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_revₓ'. -/
 theorem mul_mem_mul_rev {r s} (hr : r ∈ I) (hs : s ∈ J) : s * r ∈ I * J :=
   mul_comm r s ▸ mul_mem_mul hr hs
 #align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_rev
@@ -726,12 +492,6 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
 #align ideal.pow_mem_pow Ideal.pow_mem_pow
 -/
 
-/- warning: ideal.prod_mem_prod -> Ideal.prod_mem_prod is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} {s : Finset.{u2} ι} {I : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (x i) (I i))) -> (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)))) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => I i)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} {s : Finset.{u1} ι} {I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (x i) (I i))) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => I i)))
-Case conversion may be inaccurate. Consider using '#align ideal.prod_mem_prod Ideal.prod_mem_prodₓ'. -/
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
@@ -744,75 +504,33 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
           (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
 
-/- warning: ideal.mul_le -> Ideal.mul_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) K)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) K)))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_le Ideal.mul_leₓ'. -/
 theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
 #align ideal.mul_le Ideal.mul_le
 
-/- warning: ideal.mul_le_left -> Ideal.mul_le_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) J
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) J
-Case conversion may be inaccurate. Consider using '#align ideal.mul_le_left Ideal.mul_le_leftₓ'. -/
 theorem mul_le_left : I * J ≤ J :=
   Ideal.mul_le.2 fun r hr s => J.mul_mem_left _
 #align ideal.mul_le_left Ideal.mul_le_left
 
-/- warning: ideal.mul_le_right -> Ideal.mul_le_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) I
-Case conversion may be inaccurate. Consider using '#align ideal.mul_le_right Ideal.mul_le_rightₓ'. -/
 theorem mul_le_right : I * J ≤ I :=
   Ideal.mul_le.2 fun r hr s hs => I.mul_mem_right _ hr
 #align ideal.mul_le_right Ideal.mul_le_right
 
-/- warning: ideal.sup_mul_right_self -> Ideal.sup_mul_right_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J)) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J)) I
-Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_right_self Ideal.sup_mul_right_selfₓ'. -/
 @[simp]
 theorem sup_mul_right_self : I ⊔ I * J = I :=
   sup_eq_left.2 Ideal.mul_le_right
 #align ideal.sup_mul_right_self Ideal.sup_mul_right_self
 
-/- warning: ideal.sup_mul_left_self -> Ideal.sup_mul_left_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J I)) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J I)) I
-Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_left_self Ideal.sup_mul_left_selfₓ'. -/
 @[simp]
 theorem sup_mul_left_self : I ⊔ J * I = I :=
   sup_eq_left.2 Ideal.mul_le_left
 #align ideal.sup_mul_left_self Ideal.sup_mul_left_self
 
-/- warning: ideal.mul_right_self_sup -> Ideal.mul_right_self_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) I) I
-Case conversion may be inaccurate. Consider using '#align ideal.mul_right_self_sup Ideal.mul_right_self_supₓ'. -/
 @[simp]
 theorem mul_right_self_sup : I * J ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_right
 #align ideal.mul_right_self_sup Ideal.mul_right_self_sup
 
-/- warning: ideal.mul_left_self_sup -> Ideal.mul_left_self_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J I) I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J I) I) I
-Case conversion may be inaccurate. Consider using '#align ideal.mul_left_self_sup Ideal.mul_left_self_supₓ'. -/
 @[simp]
 theorem mul_left_self_sup : J * I ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_left
@@ -841,22 +559,10 @@ theorem span_mul_span (S T : Set R) : span S * span T = span (⋃ (s ∈ S) (t 
 
 variable {I J K}
 
-/- warning: ideal.span_mul_span' -> Ideal.span_mul_span' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Set.{u1} R) (T : Set.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) S) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) T)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Set.{u1} R) (Set.{u1} R) (Set.{u1} R) (instHMul.{u1} (Set.{u1} R) (Set.mul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) S T))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Set.{u1} R) (T : Set.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) S) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) T)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Set.{u1} R) (Set.{u1} R) (Set.{u1} R) (instHMul.{u1} (Set.{u1} R) (Set.mul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) S T))
-Case conversion may be inaccurate. Consider using '#align ideal.span_mul_span' Ideal.span_mul_span'ₓ'. -/
 theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) := by unfold span;
   rw [Submodule.span_mul_span]
 #align ideal.span_mul_span' Ideal.span_mul_span'
 
-/- warning: ideal.span_singleton_mul_span_singleton -> Ideal.span_singleton_mul_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (r : R) (s : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) s))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (r : R) (s : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) s))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singletonₓ'. -/
 theorem span_singleton_mul_span_singleton (r s : R) :
     span {r} * span {s} = (span {r * s} : Ideal R) := by unfold span;
   rw [Submodule.span_mul_span, Set.singleton_mul_singleton]
@@ -870,44 +576,20 @@ theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Id
 #align ideal.span_singleton_pow Ideal.span_singleton_pow
 -/
 
-/- warning: ideal.mem_mul_span_singleton -> Ideal.mem_mul_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) z y) x)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => And (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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) z y) x)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singletonₓ'. -/
 theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔ ∃ z ∈ I, z * y = x :=
   Submodule.mem_smul_span_singleton
 #align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singleton
 
-/- warning: ideal.mem_span_singleton_mul -> Ideal.mem_span_singleton_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y z) x)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => And (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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y z) x)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mulₓ'. -/
 theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔ ∃ z ∈ I, y * z = x := by
   simp only [mul_comm, mem_mul_span_singleton]
 #align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mul
 
-/- warning: ideal.le_span_singleton_mul_iff -> Ideal.le_span_singleton_mul_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI))))
-Case conversion may be inaccurate. Consider using '#align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iffₓ'. -/
 theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
     I ≤ span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI :=
   show (∀ {zI} (hzI : zI ∈ I), zI ∈ span {x} * J) ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI by
     simp only [mem_span_singleton_mul]
 #align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iff
 
-/- warning: ideal.span_singleton_mul_le_iff -> Ideal.span_singleton_mul_le_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) J))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iffₓ'. -/
 theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J :=
   by
   simp only [mul_le, mem_span_singleton_mul, mem_span_singleton]
@@ -919,135 +601,63 @@ theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J 
     exact J.mul_mem_left _ (h zI hzI)
 #align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iff
 
-/- warning: ideal.span_singleton_mul_le_span_singleton_mul -> Ideal.span_singleton_mul_le_span_singleton_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ)))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
     span {x} * I ≤ span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ := by
   simp only [span_singleton_mul_le_iff, mem_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mul
 
-/- warning: ideal.span_singleton_mul_right_mono -> Ideal.span_singleton_mul_right_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (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))))))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (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))))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_monoₓ'. -/
 theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I ≤ span {x} * J ↔ I ≤ J := by
   simp_rw [span_singleton_mul_le_span_singleton_mul, mul_right_inj' hx, exists_prop,
     exists_eq_right', SetLike.le_def]
 #align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_mono
 
-/- warning: ideal.span_singleton_mul_left_mono -> Ideal.span_singleton_mul_left_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (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))))))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (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))))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_monoₓ'. -/
 theorem span_singleton_mul_left_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} ≤ J * span {x} ↔ I ≤ J := by
   simpa only [mul_comm I, mul_comm J] using span_singleton_mul_right_mono hx
 #align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_mono
 
-/- warning: ideal.span_singleton_mul_right_inj -> Ideal.span_singleton_mul_right_inj is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_inj Ideal.span_singleton_mul_right_injₓ'. -/
 theorem span_singleton_mul_right_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I = span {x} * J ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_right_mono hx]
 #align ideal.span_singleton_mul_right_inj Ideal.span_singleton_mul_right_inj
 
-/- warning: ideal.span_singleton_mul_left_inj -> Ideal.span_singleton_mul_left_inj is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_injₓ'. -/
 theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} = J * span {x} ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_left_mono hx]
 #align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_inj
 
-/- warning: ideal.span_singleton_mul_right_injective -> Ideal.span_singleton_mul_right_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8037 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8039 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8037 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8039) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
   (span_singleton_mul_right_inj hx).mp
 #align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injective
 
-/- warning: ideal.span_singleton_mul_left_injective -> Ideal.span_singleton_mul_left_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_injective Ideal.span_singleton_mul_left_injectiveₓ'. -/
 theorem span_singleton_mul_left_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective fun I : Ideal R => I * span {x} := fun _ _ =>
   (span_singleton_mul_left_inj hx).mp
 #align ideal.span_singleton_mul_left_injective Ideal.span_singleton_mul_left_injective
 
-/- warning: ideal.eq_span_singleton_mul -> Ideal.eq_span_singleton_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI)))) (forall (z : 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)))) z J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) I)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI)))) (forall (z : 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)))) z J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) I)))
-Case conversion may be inaccurate. Consider using '#align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mulₓ'. -/
 theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
     I = span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I := by
   simp only [le_antisymm_iff, le_span_singleton_mul_iff, span_singleton_mul_le_iff]
 #align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mul
 
-/- warning: ideal.span_singleton_mul_eq_span_singleton_mul -> Ideal.span_singleton_mul_eq_span_singleton_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))) (forall (zJ : 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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => Exists.{0} (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)))) zI I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zI I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))) (forall (zJ : 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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => And (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)))) zI I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
     span {x} * I = span {y} * J ↔
       (∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ) ∧ ∀ zJ ∈ J, ∃ zI ∈ I, x * zI = y * zJ :=
   by simp only [le_antisymm_iff, span_singleton_mul_le_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mul
 
-/- warning: ideal.prod_span -> Ideal.prod_span is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> (Set.{u1} R)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (I i))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Finset.prod.{u1, u2} (Set.{u1} R) ι (Set.commMonoid.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1)) s (fun (i : ι) => I i)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> (Set.{u2} R)), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (I i))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Finset.prod.{u2, u1} (Set.{u2} R) ι (Set.commMonoid.{u2} R (CommSemiring.toCommMonoid.{u2} R _inst_1)) s (fun (i : ι) => I i)))
-Case conversion may be inaccurate. Consider using '#align ideal.prod_span Ideal.prod_spanₓ'. -/
 theorem prod_span {ι : Type _} (s : Finset ι) (I : ι → Set R) :
     (∏ i in s, Ideal.span (I i)) = Ideal.span (∏ i in s, I i) :=
   Submodule.prod_span s I
 #align ideal.prod_span Ideal.prod_span
 
-/- warning: ideal.prod_span_singleton -> Ideal.prod_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => I i))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i))))
-Case conversion may be inaccurate. Consider using '#align ideal.prod_span_singleton Ideal.prod_span_singletonₓ'. -/
 theorem prod_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R) :
     (∏ i in s, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
   Submodule.prod_span_singleton s I
 #align ideal.prod_span_singleton Ideal.prod_span_singleton
 
-/- warning: ideal.multiset_prod_span_singleton -> Ideal.multiset_prod_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (m : Multiset.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Multiset.map.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (x : R) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) m)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Multiset.prod.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) m)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (m : Multiset.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Multiset.map.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (x : R) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) m)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (Multiset.prod.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) m)))
-Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singletonₓ'. -/
 @[simp]
 theorem multiset_prod_span_singleton (m : Multiset R) :
     (m.map fun x => Ideal.span {x}).Prod = Ideal.span ({Multiset.prod m} : Set R) :=
@@ -1055,12 +665,6 @@ theorem multiset_prod_span_singleton (m : Multiset R) :
     simp only [Multiset.map_cons, Multiset.prod_cons, ih, ← Ideal.span_singleton_mul_span_singleton]
 #align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singleton
 
-/- warning: ideal.finset_inf_span_singleton -> Ideal.finset_inf_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> R), (Set.Pairwise.{u2} ι ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s) (Function.onFun.{succ u2, succ u1, 1} ι R Prop (IsCoprime.{u1} R _inst_1) I)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => I i)))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), (Set.Pairwise.{u1} ι (Finset.toSet.{u1} ι s) (Function.onFun.{succ u1, succ u2, 1} ι R Prop (IsCoprime.{u2} R _inst_1) I)) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i)))))
-Case conversion may be inaccurate. Consider using '#align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singletonₓ'. -/
 theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
     (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
     (s.inf fun i => Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
@@ -1070,12 +674,6 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
-/- warning: ideal.infi_span_singleton -> Ideal.iInf_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} [_inst_2 : Fintype.{u2} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u2} ι i j) -> (IsCoprime.{u1} R _inst_1 (I i) (I j))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} ι _inst_2) (fun (i : ι) => I i)))))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} [_inst_2 : Fintype.{u1} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u1} ι i j) -> (IsCoprime.{u2} R _inst_1 (I i) (I j))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} ι _inst_2) (fun (i : ι) => I i)))))
-Case conversion may be inaccurate. Consider using '#align ideal.infi_span_singleton Ideal.iInf_span_singletonₓ'. -/
 theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (hij : i ≠ j), IsCoprime (I i) (I j)) :
     (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} :=
@@ -1084,12 +682,6 @@ theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
-/- warning: ideal.sup_eq_top_iff_is_coprime -> Ideal.sup_eq_top_iff_isCoprime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] (x : R) (y : R), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.idemSemiring.{u1, u1} R _inst_2 R (CommSemiring.toSemiring.{u1} R _inst_2) (Algebra.id.{u1} R _inst_2)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasTop.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (IsCoprime.{u1} R _inst_2 x y)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] (x : R) (y : R), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_2 R _inst_2 (Algebra.id.{u1} R _inst_2)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (IsCoprime.{u1} R _inst_2 x y)
-Case conversion may be inaccurate. Consider using '#align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprimeₓ'. -/
 theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y :=
   by
@@ -1104,22 +696,10 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
 
-/- warning: ideal.mul_le_inf -> Ideal.mul_le_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J)
-Case conversion may be inaccurate. Consider using '#align ideal.mul_le_inf Ideal.mul_le_infₓ'. -/
 theorem mul_le_inf : I * J ≤ I ⊓ J :=
   mul_le.2 fun r hri s hsj => ⟨I.mul_mem_right s hri, J.mul_mem_left r hsj⟩
 #align ideal.mul_le_inf Ideal.mul_le_inf
 
-/- warning: ideal.multiset_prod_le_inf -> Ideal.multiset_prod_le_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{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))) s)
-Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_infₓ'. -/
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
     refine' s.induction_on _ _
@@ -1129,22 +709,10 @@ theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
     exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
 
-/- warning: ideal.prod_le_inf -> Ideal.prod_le_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s f) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f)
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s f) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f)
-Case conversion may be inaccurate. Consider using '#align ideal.prod_le_inf Ideal.prod_le_infₓ'. -/
 theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.Prod f ≤ s.inf f :=
   multiset_prod_le_inf
 #align ideal.prod_le_inf Ideal.prod_le_inf
 
-/- warning: ideal.mul_eq_inf_of_coprime -> Ideal.mul_eq_inf_of_coprime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprimeₓ'. -/
 theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
   le_antisymm mul_le_inf fun r ⟨hri, hrj⟩ =>
     let ⟨s, hsi, t, htj, hst⟩ := Submodule.mem_sup.1 ((eq_top_iff_one _).1 h)
@@ -1153,12 +721,6 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
         (mul_add r s t).symm ▸ Ideal.add_mem (I * J) (mul_mem_mul_rev hsi hrj) (mul_mem_mul hri htj)
 #align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprime
 
-/- warning: ideal.sup_mul_eq_of_coprime_left -> Ideal.sup_mul_eq_of_coprime_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I K))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I K))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_eq_of_coprime_left Ideal.sup_mul_eq_of_coprime_leftₓ'. -/
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
     by
@@ -1168,54 +730,24 @@ theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :
     rw [add_assoc, ← add_mul, h, one_mul, hi]
 #align ideal.sup_mul_eq_of_coprime_left Ideal.sup_mul_eq_of_coprime_left
 
-/- warning: ideal.sup_mul_eq_of_coprime_right -> Ideal.sup_mul_eq_of_coprime_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I K) (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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I K) (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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_rightₓ'. -/
 theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J := by rw [mul_comm];
   exact sup_mul_eq_of_coprime_left h
 #align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_right
 
-/- warning: ideal.mul_sup_eq_of_coprime_left -> Ideal.mul_sup_eq_of_coprime_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) K J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K J))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_leftₓ'. -/
 theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
 
-/- warning: ideal.mul_sup_eq_of_coprime_right -> Ideal.mul_sup_eq_of_coprime_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) K 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_rightₓ'. -/
 theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 
-/- warning: ideal.sup_prod_eq_top -> Ideal.sup_prod_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => J i))) (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)))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => J i))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_prod_eq_top Ideal.sup_prod_eq_topₓ'. -/
 theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ∏ i in s, J i) = ⊤ :=
   Finset.prod_induction _ (fun J => I ⊔ J = ⊤)
     (fun J K hJ hK => (sup_mul_eq_of_coprime_left hJ).trans hK) (by rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
 
-/- warning: ideal.sup_infi_eq_top -> Ideal.sup_iInf_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => iInf.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i)))) (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)))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => iInf.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i)))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_topₓ'. -/
 theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ⨅ i ∈ s, J i) = ⊤ :=
   eq_top_iff.mpr <|
@@ -1223,54 +755,24 @@ theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s
       sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_iInf _ _) _
 #align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_top
 
-/- warning: ideal.prod_sup_eq_top -> Ideal.prod_sup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => J i)) I) (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)))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => J i)) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.prod_sup_eq_top Ideal.prod_sup_eq_topₓ'. -/
 theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (∏ i in s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
 
-/- warning: ideal.infi_sup_eq_top -> Ideal.iInf_sup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => iInf.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i))) I) (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)))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => iInf.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i))) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_topₓ'. -/
 theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_iInf_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_top
 
-/- warning: ideal.sup_pow_eq_top -> Ideal.sup_pow_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_pow_eq_top Ideal.sup_pow_eq_topₓ'. -/
 theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ := by
   rw [← Finset.card_range n, ← Finset.prod_const]; exact sup_prod_eq_top fun _ _ => h
 #align ideal.sup_pow_eq_top Ideal.sup_pow_eq_top
 
-/- warning: ideal.pow_sup_eq_top -> Ideal.pow_sup_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) 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)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) 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)))))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_sup_eq_top Ideal.pow_sup_eq_topₓ'. -/
 theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ := by
   rw [← Finset.card_range n, ← Finset.prod_const]; exact prod_sup_eq_top fun _ _ => h
 #align ideal.pow_sup_eq_top Ideal.pow_sup_eq_top
 
-/- warning: ideal.pow_sup_pow_eq_top -> Ideal.pow_sup_pow_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_sup_pow_eq_top Ideal.pow_sup_pow_eq_topₓ'. -/
 theorem pow_sup_pow_eq_top {m n : ℕ} (h : I ⊔ J = ⊤) : I ^ m ⊔ J ^ n = ⊤ :=
   sup_pow_eq_top (pow_sup_eq_top h)
 #align ideal.pow_sup_pow_eq_top Ideal.pow_sup_pow_eq_top
@@ -1284,12 +786,6 @@ theorem mul_bot : I * ⊥ = ⊥ :=
 #align ideal.mul_bot Ideal.mul_bot
 -/
 
-/- warning: ideal.bot_mul -> Ideal.bot_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (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)))) I) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (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)))) I) (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 ideal.bot_mul Ideal.bot_mulₓ'. -/
 @[simp]
 theorem bot_mul : ⊥ * I = ⊥ :=
   Submodule.bot_smul I
@@ -1302,12 +798,6 @@ theorem mul_top : I * ⊤ = I :=
 #align ideal.mul_top Ideal.mul_top
 -/
 
-/- warning: ideal.top_mul -> Ideal.top_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (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)))) I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (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)))) I) I
-Case conversion may be inaccurate. Consider using '#align ideal.top_mul Ideal.top_mulₓ'. -/
 @[simp]
 theorem top_mul : ⊤ * I = I :=
   Submodule.top_smul I
@@ -1315,32 +805,14 @@ theorem top_mul : ⊤ * I = I :=
 
 variable {I}
 
-/- warning: ideal.mul_mono -> Ideal.mul_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {L : Ideal.{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))))))) I K) -> (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 L) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) K L))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {L : Ideal.{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))))))) I K) -> (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 L) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) K L))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mono Ideal.mul_monoₓ'. -/
 theorem mul_mono (hik : I ≤ K) (hjl : J ≤ L) : I * J ≤ K * L :=
   Submodule.smul_mono hik hjl
 #align ideal.mul_mono Ideal.mul_mono
 
-/- warning: ideal.mul_mono_left -> Ideal.mul_mono_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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))))))) I J) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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))))))) I J) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mono_left Ideal.mul_mono_leftₓ'. -/
 theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K :=
   Submodule.smul_mono_left h
 #align ideal.mul_mono_left Ideal.mul_mono_left
 
-/- warning: ideal.mul_mono_right -> Ideal.mul_mono_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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 K) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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 K) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mono_right Ideal.mul_mono_rightₓ'. -/
 theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K :=
   Submodule.smul_mono_right h
 #align ideal.mul_mono_right Ideal.mul_mono_right
@@ -1353,24 +825,12 @@ theorem mul_sup : I * (J ⊔ K) = I * J ⊔ I * K :=
 #align ideal.mul_sup Ideal.mul_sup
 -/
 
-/- warning: ideal.sup_mul -> Ideal.sup_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) K) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) K) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_mul Ideal.sup_mulₓ'. -/
 theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
   Submodule.sup_smul I J K
 #align ideal.sup_mul Ideal.sup_mul
 
 variable {I J K}
 
-/- warning: ideal.pow_le_pow -> Ideal.pow_le_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (LE.le.{0} Nat Nat.hasLe m n) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (LE.le.{0} Nat instLENat m n) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_le_pow Ideal.pow_le_powₓ'. -/
 theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   by
   cases' Nat.exists_eq_add_of_le h with k hk
@@ -1378,12 +838,6 @@ theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   exact le_trans mul_le_inf inf_le_left
 #align ideal.pow_le_pow Ideal.pow_le_pow
 
-/- warning: ideal.pow_le_self -> Ideal.pow_le_self is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) I)
-Case conversion may be inaccurate. Consider using '#align ideal.pow_le_self Ideal.pow_le_selfₓ'. -/
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
@@ -1391,12 +845,6 @@ theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
     
 #align ideal.pow_le_self Ideal.pow_le_self
 
-/- warning: ideal.pow_mono -> Ideal.pow_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (forall (n : Nat), 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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (forall (n : Nat), 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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_mono Ideal.pow_monoₓ'. -/
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
@@ -1404,12 +852,6 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   · rw [pow_succ, pow_succ]; exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
 
-/- warning: ideal.mul_eq_bot -> Ideal.mul_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.hasMul.{u1} R _inst_2)) I J) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Or (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) J (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.instMulIdealToSemiring.{u1} R _inst_2)) I J) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Or (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) J (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_eq_bot Ideal.mul_eq_botₓ'. -/
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
@@ -1423,24 +865,12 @@ theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
 instance {R : Type _} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
     where eq_zero_or_eq_zero_of_mul_eq_zero I J := mul_eq_bot.1
 
-/- warning: ideal.prod_eq_bot -> Ideal.prod_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.idemCommSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) => Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) I s) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))))))
-Case conversion may be inaccurate. Consider using '#align ideal.prod_eq_bot Ideal.prod_eq_botₓ'. -/
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 theorem prod_eq_bot {R : Type _} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
     s.Prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ :=
   prod_zero_iff_exists_zero
 #align ideal.prod_eq_bot Ideal.prod_eq_bot
 
-/- warning: ideal.span_pair_mul_span_pair -> Ideal.span_pair_mul_span_pair is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (w : R) (x : R) (y : R) (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) w (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) y (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) z)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) w y) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) w z) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x y) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (w : R) (x : R) (y : R) (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) w (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) y (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) z)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) w y) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) w z) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x y) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z))))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pairₓ'. -/
 theorem span_pair_mul_span_pair (w x y z : R) :
     (span {w, x} : Ideal R) * span {y, z} = span {w * y, w * z, x * y, x * z} := by
   simp_rw [span_insert, sup_mul, mul_sup, span_singleton_mul_span_singleton, sup_assoc]
@@ -1480,12 +910,6 @@ def IsRadical (I : Ideal R) : Prop :=
 #align ideal.is_radical Ideal.IsRadical
 -/
 
-/- warning: ideal.le_radical -> Ideal.le_radical is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, 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))))))) I (Ideal.radical.{u1} R _inst_1 I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, 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))))))) I (Ideal.radical.{u1} R _inst_1 I)
-Case conversion may be inaccurate. Consider using '#align ideal.le_radical Ideal.le_radicalₓ'. -/
 theorem le_radical : I ≤ radical I := fun r hri => ⟨1, (pow_one r).symm ▸ hri⟩
 #align ideal.le_radical Ideal.le_radical
 
@@ -1501,24 +925,12 @@ alias radical_eq_iff ↔ _ is_radical.radical
 
 variable (R)
 
-/- warning: ideal.radical_top -> Ideal.radical_top is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (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))))) (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))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (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))))) (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))))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_top Ideal.radical_topₓ'. -/
 theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
   (eq_top_iff_one _).2 ⟨0, Submodule.mem_top⟩
 #align ideal.radical_top Ideal.radical_top
 
 variable {R}
 
-/- warning: ideal.radical_mono -> Ideal.radical_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_mono Ideal.radical_monoₓ'. -/
 theorem radical_mono (H : I ≤ J) : radical I ≤ radical J := fun r ⟨n, hrni⟩ => ⟨n, H hrni⟩
 #align ideal.radical_mono Ideal.radical_mono
 
@@ -1539,32 +951,14 @@ theorem radical_idem : radical (radical I) = radical I :=
 
 variable {I}
 
-/- warning: ideal.is_radical.radical_le_iff -> Ideal.IsRadical.radical_le_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsRadical.{u1} R _inst_1 J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsRadical.{u1} R _inst_1 J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iffₓ'. -/
 theorem IsRadical.radical_le_iff (hJ : J.IsRadical) : radical I ≤ J ↔ I ≤ J :=
   ⟨le_trans le_radical, fun h => hJ.radical ▸ radical_mono h⟩
 #align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iff
 
-/- warning: ideal.radical_le_radical_iff -> Ideal.radical_le_radical_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)) (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))))))) I (Ideal.radical.{u1} R _inst_1 J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)) (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))))))) I (Ideal.radical.{u1} R _inst_1 J))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_le_radical_iff Ideal.radical_le_radical_iffₓ'. -/
 theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J :=
   (radical_isRadical J).radical_le_iff
 #align ideal.radical_le_radical_iff Ideal.radical_le_radical_iff
 
-/- warning: ideal.radical_eq_top -> Ideal.radical_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (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))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (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))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_top Ideal.radical_eq_topₓ'. -/
 theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
   ⟨fun h =>
     (eq_top_iff_one _).2 <|
@@ -1587,12 +981,6 @@ theorem IsPrime.radical (H : IsPrime I) : radical I = I :=
 
 variable (I J)
 
-/- warning: ideal.radical_sup -> Ideal.radical_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_sup Ideal.radical_supₓ'. -/
 theorem radical_sup : radical (I ⊔ J) = radical (radical I ⊔ radical J) :=
   le_antisymm (radical_mono <| sup_le_sup le_radical le_radical) <|
     radical_le_radical_iff.2 <| sup_le (radical_mono le_sup_left) (radical_mono le_sup_right)
@@ -1616,22 +1004,10 @@ theorem radical_mul : radical (I * J) = radical I ⊓ radical J :=
 
 variable {I J}
 
-/- warning: ideal.is_prime.radical_le_iff -> Ideal.IsPrime.radical_le_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iffₓ'. -/
 theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
   hJ.IsRadical.radical_le_iff
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 
-/- warning: ideal.radical_eq_Inf -> Ideal.radical_eq_sInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_Inf Ideal.radical_eq_sInfₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
 theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } :=
   le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
@@ -1670,22 +1046,10 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J
         this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
 #align ideal.radical_eq_Inf Ideal.radical_eq_sInf
 
-/- warning: ideal.is_radical_bot_of_no_zero_divisors -> Ideal.isRadical_bot_of_noZeroDivisors is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))], Ideal.IsRadical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))], Ideal.IsRadical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_radical_bot_of_no_zero_divisors Ideal.isRadical_bot_of_noZeroDivisorsₓ'. -/
 theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
     (⊥ : Ideal R).IsRadical := fun x hx => hx.recOn fun n hn => pow_eq_zero hn
 #align ideal.is_radical_bot_of_no_zero_divisors Ideal.isRadical_bot_of_noZeroDivisors
 
-/- warning: ideal.radical_bot_of_no_zero_divisors -> Ideal.radical_bot_of_noZeroDivisors is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.radical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.radical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_bot_of_no_zero_divisors Ideal.radical_bot_of_noZeroDivisorsₓ'. -/
 @[simp]
 theorem radical_bot_of_noZeroDivisors {R : Type u} [CommSemiring R] [NoZeroDivisors R] :
     radical (⊥ : Ideal R) = ⊥ :=
@@ -1697,12 +1061,6 @@ instance : IdemCommSemiring (Ideal R) :=
 
 variable (R)
 
-/- warning: ideal.top_pow -> Ideal.top_pow is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (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)))) n) (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))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (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)))) n) (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))))
-Case conversion may be inaccurate. Consider using '#align ideal.top_pow Ideal.top_powₓ'. -/
 theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ :=
   Nat.recOn n one_eq_top fun n ih => by rw [pow_succ, ih, top_mul]
 #align ideal.top_pow Ideal.top_pow
@@ -1728,12 +1086,6 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
 #align ideal.radical_pow Ideal.radical_pow
 -/
 
-/- warning: ideal.is_prime.mul_le -> Ideal.IsPrime.mul_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) P) (Or (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))))))) I P) (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 P)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) P) (Or (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))))))) I P) (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 P)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mul_le Ideal.IsPrime.mul_leₓ'. -/
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h =>
     or_iff_not_imp_left.2 fun hip j hj =>
@@ -1744,23 +1096,11 @@ theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I 
       (le_trans <| le_trans mul_le_inf inf_le_right)⟩
 #align ideal.is_prime.mul_le Ideal.IsPrime.mul_le
 
-/- warning: ideal.is_prime.inf_le -> Ideal.IsPrime.inf_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J) P) (Or (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))))))) I P) (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 P)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J) P) (Or (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))))))) I P) (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 P)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le Ideal.IsPrime.inf_leₓ'. -/
 theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h => hp.mul_le.1 <| le_trans mul_le_inf h, fun h =>
     Or.cases_on h (le_trans inf_le_left) (le_trans inf_le_right)⟩
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
 
-/- warning: ideal.is_prime.multiset_prod_le -> Ideal.IsPrime.multiset_prod_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (OfNat.mk.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.zero.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) => 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))))))) I P))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instZeroMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (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))))))) I P))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_leₓ'. -/
 theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P)
     (hne : s ≠ 0) : s.Prod ≤ P ↔ ∃ I ∈ s, I ≤ P :=
   by
@@ -1783,12 +1123,6 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
     exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 
-/- warning: ideal.is_prime.multiset_prod_map_le -> Ideal.IsPrime.multiset_prod_map_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u2} ι} (f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u2} (Multiset.{u2} ι) s (OfNat.ofNat.{u2} (Multiset.{u2} ι) 0 (OfNat.mk.{u2} (Multiset.{u2} ι) 0 (Zero.zero.{u2} (Multiset.{u2} ι) (Multiset.hasZero.{u2} ι))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) (Multiset.map.{u2, u1} ι (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) f s)) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Multiset.{u1} ι} (f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} ι) s (OfNat.ofNat.{u1} (Multiset.{u1} ι) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} ι) (Multiset.instZeroMultiset.{u1} ι)))) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Multiset.prod.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) (Multiset.map.{u1, u2} ι (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) f s)) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Multiset.{u1} ι) (Multiset.instMembershipMultiset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_leₓ'. -/
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
     (hp : IsPrime P) (hne : s ≠ 0) : (s.map f).Prod ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   by
@@ -1796,35 +1130,17 @@ theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P :
   simp_rw [exists_prop, Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
 
-/- warning: ideal.is_prime.prod_le -> Ideal.IsPrime.prod_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.prod_le Ideal.IsPrime.prod_leₓ'. -/
 theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hne : s.Nonempty) : s.Prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   hp.multiset_prod_map_le f (mt Finset.val_eq_zero.mp hne.ne_empty)
 #align ideal.is_prime.prod_le Ideal.IsPrime.prod_le
 
-/- warning: ideal.is_prime.inf_le' -> Ideal.IsPrime.inf_le' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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))))))) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
-but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'ₓ'. -/
 theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hsne : s.Nonempty) : s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   ⟨fun h => (hp.prod_le hsne).1 <| le_trans prod_le_inf h, fun ⟨i, his, hip⟩ =>
     le_trans (Finset.inf_le his) hip⟩
 #align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'
 
-/- warning: ideal.subset_union -> Ideal.subset_union is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) J) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.instHasSubsetSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I) (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) J) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
-Case conversion may be inaccurate. Consider using '#align ideal.subset_union Ideal.subset_unionₓ'. -/
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
   ⟨fun h =>
@@ -1839,9 +1155,6 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
       Set.Subset.trans h <| Set.subset_union_right J K⟩
 #align ideal.subset_union Ideal.subset_union
 
-/- warning: ideal.subset_union_prime' -> Ideal.subset_union_prime' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -1944,12 +1257,6 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
-/- warning: ideal.subset_union_prime -> Ideal.subset_union_prime is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
-but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))
-Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
     (hp : ∀ i ∈ s, i ≠ a → i ≠ b → IsPrime (f i)) {I : Ideal R} :
@@ -2004,12 +1311,6 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
 
 section Dvd
 
-/- warning: ideal.le_of_dvd -> Ideal.le_of_dvd is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.Dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))))))) I J) -> (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 I)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))))))) I J) -> (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 I)
-Case conversion may be inaccurate. Consider using '#align ideal.le_of_dvd Ideal.le_of_dvdₓ'. -/
 /-- If `I` divides `J`, then `I` contains `J`.
 
 In a Dedekind domain, to divide and contain are equivalent, see `ideal.dvd_iff_le`.
@@ -2018,12 +1319,6 @@ theorem le_of_dvd {I J : Ideal R} : I ∣ J → J ≤ I
   | ⟨K, h⟩ => h.symm ▸ le_trans mul_le_inf inf_le_left
 #align ideal.le_of_dvd Ideal.le_of_dvd
 
-/- warning: ideal.is_unit_iff -> Ideal.isUnit_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (IsUnit.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) I) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (IsUnit.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) I) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_unit_iff Ideal.isUnit_iffₓ'. -/
 theorem isUnit_iff {I : Ideal R} : IsUnit I ↔ I = ⊤ :=
   isUnit_iff_dvd_one.trans
     ((@one_eq_top R _).symm ▸
@@ -2082,75 +1377,33 @@ def comap (I : Ideal S) : Ideal R where
 
 variable {f}
 
-/- warning: ideal.map_mono -> Ideal.map_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I J) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_mono Ideal.map_monoₓ'. -/
 theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
   span_mono <| Set.image_subset _ h
 #align ideal.map_mono Ideal.map_mono
 
-/- warning: ideal.mem_map_of_mem -> Ideal.mem_map_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_map_of_mem Ideal.mem_map_of_memₓ'. -/
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
 #align ideal.mem_map_of_mem Ideal.mem_map_of_mem
 
-/- warning: ideal.apply_coe_mem_map -> Ideal.apply_coe_mem_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (x : coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I), Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I))))) x)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
-Case conversion may be inaccurate. Consider using '#align ideal.apply_coe_mem_map Ideal.apply_coe_mem_mapₓ'. -/
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
 #align ideal.apply_coe_mem_map Ideal.apply_coe_mem_map
 
-/- warning: ideal.map_le_iff_le_comap -> Ideal.map_le_iff_le_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, Iff (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, Iff (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
-Case conversion may be inaccurate. Consider using '#align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comapₓ'. -/
 theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
   span_le.trans Set.image_subset_iff
 #align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comap
 
-/- warning: ideal.mem_comap -> Ideal.mem_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) K)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
-Case conversion may be inaccurate. Consider using '#align ideal.mem_comap Ideal.mem_comapₓ'. -/
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
   Iff.rfl
 #align ideal.mem_comap Ideal.mem_comap
 
-/- warning: ideal.comap_mono -> Ideal.comap_mono is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_mono Ideal.comap_monoₓ'. -/
 theorem comap_mono (h : K ≤ L) : comap f K ≤ comap f L :=
   Set.preimage_mono fun x hx => h hx
 #align ideal.comap_mono Ideal.comap_mono
 
 variable (f)
 
-/- warning: ideal.comap_ne_top -> Ideal.comap_ne_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2}, (Ne.{succ u2} (Ideal.{u2} S _inst_2) K (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) -> (Ne.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {K : Ideal.{u3} S _inst_2}, (Ne.{succ u3} (Ideal.{u3} S _inst_2) K (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) -> (Ne.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_ne_top Ideal.comap_ne_topₓ'. -/
 theorem comap_ne_top (hK : K ≠ ⊤) : comap f K ≠ ⊤ :=
   (ne_top_iff_one _).2 <| by rw [mem_comap, map_one] <;> exact (ne_top_iff_one _).1 hK
 #align ideal.comap_ne_top Ideal.comap_ne_top
@@ -2159,12 +1412,6 @@ variable {G : Type _} [rcg : RingHomClass G S R]
 
 include rcg
 
-/- warning: ideal.map_le_comap_of_inv_on -> Ideal.map_le_comap_of_inv_on is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.setLike.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
-Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
   refine' Ideal.span_le.2 _
@@ -2173,34 +1420,16 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
   exact hx
 #align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_on
 
-/- warning: ideal.comap_le_map_of_inv_on -> Ideal.comap_le_map_of_inv_on is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.setLike.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
 #align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_on
 
-/- warning: ideal.map_le_comap_of_inverse -> Ideal.map_le_comap_of_inverse is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
-Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverseₓ'. -/
 /-- The `ideal` version of `set.image_subset_preimage_of_inverse`. -/
 theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse g f) :
     I.map f ≤ I.comap g :=
   map_le_comap_of_inv_on _ _ _ <| h.LeftInvOn _
 #align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverse
 
-/- warning: ideal.comap_le_map_of_inverse -> Ideal.comap_le_map_of_inverse is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverseₓ'. -/
 /-- The `ideal` version of `set.preimage_subset_image_of_inverse`. -/
 theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse g f) :
     I.comap f ≤ I.map g :=
@@ -2217,69 +1446,33 @@ instance IsPrime.comap [hK : K.IsPrime] : (comap f K).IsPrime :=
 
 variable (I J K L)
 
-/- warning: ideal.map_top -> Ideal.map_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_top Ideal.map_topₓ'. -/
 theorem map_top : map f ⊤ = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span ⟨1, trivial, map_one f⟩
 #align ideal.map_top Ideal.map_top
 
 variable (f)
 
-/- warning: ideal.gc_map_comap -> Ideal.gc_map_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), GaloisConnection.{u1, u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), GaloisConnection.{u2, u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f)
-Case conversion may be inaccurate. Consider using '#align ideal.gc_map_comap Ideal.gc_map_comapₓ'. -/
 theorem gc_map_comap : GaloisConnection (Ideal.map f) (Ideal.comap f) := fun I J =>
   Ideal.map_le_iff_le_comap
 #align ideal.gc_map_comap Ideal.gc_map_comap
 
 omit rc
 
-/- warning: ideal.comap_id -> Ideal.comap_id is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
-Case conversion may be inaccurate. Consider using '#align ideal.comap_id Ideal.comap_idₓ'. -/
 @[simp]
 theorem comap_id : I.comap (RingHom.id R) = I :=
   Ideal.ext fun _ => Iff.rfl
 #align ideal.comap_id Ideal.comap_id
 
-/- warning: ideal.map_id -> Ideal.map_id is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.map.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.map.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
-Case conversion may be inaccurate. Consider using '#align ideal.map_id Ideal.map_idₓ'. -/
 @[simp]
 theorem map_id : I.map (RingHom.id R) = I :=
   (gc_map_comap (RingHom.id R)).l_unique GaloisConnection.id comap_id
 #align ideal.map_id Ideal.map_id
 
-/- warning: ideal.comap_comap -> Ideal.comap_comap 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] {T : Type.{u3}} [_inst_3 : Semiring.{u3} T] {I : Ideal.{u3} T _inst_3} (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f (Ideal.comap.{u2, u3, max u2 u3} S T (RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_2 _inst_3 (RingHom.ringHomClass.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) g I)) (Ideal.comap.{u1, u3, max u1 u3} R T (RingHom.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_1 _inst_3 (RingHom.ringHomClass.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) (RingHom.comp.{u1, u2, u3} R S T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3) g f) I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] {T : Type.{u1}} [_inst_3 : Semiring.{u1} T] {I : Ideal.{u1} T _inst_3} (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (g : RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, max u2 u3} R S (RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) f (Ideal.comap.{u3, u1, max u3 u1} S T (RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_2 _inst_3 (RingHom.instRingHomClassRingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) g I)) (Ideal.comap.{u2, u1, max u1 u2} R T (RingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) (RingHom.comp.{u2, u3, u1} R S T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3) g f) I)
-Case conversion may be inaccurate. Consider using '#align ideal.comap_comap Ideal.comap_comapₓ'. -/
 theorem comap_comap {T : Type _} [Semiring T] {I : Ideal T} (f : R →+* S) (g : S →+* T) :
     (I.comap g).comap f = I.comap (g.comp f) :=
   rfl
 #align ideal.comap_comap Ideal.comap_comap
 
-/- warning: ideal.map_map -> Ideal.map_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] {T : Type.{u3}} [_inst_3 : Semiring.{u3} T] {I : Ideal.{u1} R _inst_1} (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.map.{u2, u3, max u2 u3} S T (RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_2 _inst_3 (RingHom.ringHomClass.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) g (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I)) (Ideal.map.{u1, u3, max u1 u3} R T (RingHom.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_1 _inst_3 (RingHom.ringHomClass.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) (RingHom.comp.{u1, u2, u3} R S T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3) g f) I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] {T : Type.{u1}} [_inst_3 : Semiring.{u1} T] {I : Ideal.{u2} R _inst_1} (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (g : RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)), Eq.{succ u1} (Ideal.{u1} T _inst_3) (Ideal.map.{u3, u1, max u3 u1} S T (RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_2 _inst_3 (RingHom.instRingHomClassRingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) g (Ideal.map.{u2, u3, max u2 u3} R S (RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) f I)) (Ideal.map.{u2, u1, max u1 u2} R T (RingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) (RingHom.comp.{u2, u3, u1} R S T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3) g f) I)
-Case conversion may be inaccurate. Consider using '#align ideal.map_map Ideal.map_mapₓ'. -/
 theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S →+* T) :
     (I.map f).map g = I.map (g.comp f) :=
   ((gc_map_comap f).compose (gc_map_comap g)).l_unique (gc_map_comap (g.comp f)) fun _ =>
@@ -2288,12 +1481,6 @@ theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S 
 
 include rc
 
-/- warning: ideal.map_span -> Ideal.map_span is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} R), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.span.{u1} R _inst_1 s)) (Ideal.span.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) s))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
-Case conversion may be inaccurate. Consider using '#align ideal.map_span Ideal.map_spanₓ'. -/
 theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
   symm <|
     Submodule.span_eq_of_le _ (fun y ⟨x, hy, x_eq⟩ => x_eq ▸ mem_map_of_mem f (subset_span hy))
@@ -2302,75 +1489,33 @@ theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
 
 variable {f I J K L}
 
-/- warning: ideal.map_le_of_le_comap -> Ideal.map_le_of_le_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K)
-Case conversion may be inaccurate. Consider using '#align ideal.map_le_of_le_comap Ideal.map_le_of_le_comapₓ'. -/
 theorem map_le_of_le_comap : I ≤ K.comap f → I.map f ≤ K :=
   (gc_map_comap f).l_le
 #align ideal.map_le_of_le_comap Ideal.map_le_of_le_comap
 
-/- warning: ideal.le_comap_of_map_le -> Ideal.le_comap_of_map_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
-Case conversion may be inaccurate. Consider using '#align ideal.le_comap_of_map_le Ideal.le_comap_of_map_leₓ'. -/
 theorem le_comap_of_map_le : I.map f ≤ K → I ≤ K.comap f :=
   (gc_map_comap f).le_u
 #align ideal.le_comap_of_map_le Ideal.le_comap_of_map_le
 
-/- warning: ideal.le_comap_map -> Ideal.le_comap_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
-Case conversion may be inaccurate. Consider using '#align ideal.le_comap_map Ideal.le_comap_mapₓ'. -/
 theorem le_comap_map : I ≤ (I.map f).comap f :=
   (gc_map_comap f).le_u_l _
 #align ideal.le_comap_map Ideal.le_comap_map
 
-/- warning: ideal.map_comap_le -> Ideal.map_comap_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) K
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) K
-Case conversion may be inaccurate. Consider using '#align ideal.map_comap_le Ideal.map_comap_leₓ'. -/
 theorem map_comap_le : (K.comap f).map f ≤ K :=
   (gc_map_comap f).l_u_le _
 #align ideal.map_comap_le Ideal.map_comap_le
 
-/- warning: ideal.comap_top -> Ideal.comap_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F}, Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_top Ideal.comap_topₓ'. -/
 @[simp]
 theorem comap_top : (⊤ : Ideal S).comap f = ⊤ :=
   (gc_map_comap f).u_top
 #align ideal.comap_top Ideal.comap_top
 
-/- warning: ideal.comap_eq_top_iff -> Ideal.comap_eq_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u2} S _inst_2}, Iff (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Eq.{succ u2} (Ideal.{u2} S _inst_2) I (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u3} S _inst_2}, Iff (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Eq.{succ u3} (Ideal.{u3} S _inst_2) I (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_eq_top_iff Ideal.comap_eq_top_iffₓ'. -/
 @[simp]
 theorem comap_eq_top_iff {I : Ideal S} : I.comap f = ⊤ ↔ I = ⊤ :=
   ⟨fun h => I.eq_top_iff_one.mpr (map_one f ▸ mem_comap.mp ((I.comap f).eq_top_iff_one.mp h)),
     fun h => by rw [h, comap_top]⟩
 #align ideal.comap_eq_top_iff Ideal.comap_eq_top_iff
 
-/- warning: ideal.map_bot -> Ideal.map_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F}, Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F}, Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_bot Ideal.map_botₓ'. -/
 @[simp]
 theorem map_bot : (⊥ : Ideal R).map f = ⊥ :=
   (gc_map_comap f).l_bot
@@ -2378,140 +1523,62 @@ theorem map_bot : (⊥ : Ideal R).map f = ⊥ :=
 
 variable (f I J K L)
 
-/- warning: ideal.map_comap_map -> Ideal.map_comap_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
-Case conversion may be inaccurate. Consider using '#align ideal.map_comap_map Ideal.map_comap_mapₓ'. -/
 @[simp]
 theorem map_comap_map : ((I.map f).comap f).map f = I.map f :=
   (gc_map_comap f).l_u_l_eq_l I
 #align ideal.map_comap_map Ideal.map_comap_map
 
-/- warning: ideal.comap_map_comap -> Ideal.comap_map_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
-Case conversion may be inaccurate. Consider using '#align ideal.comap_map_comap Ideal.comap_map_comapₓ'. -/
 @[simp]
 theorem comap_map_comap : ((K.comap f).map f).comap f = K.comap f :=
   (gc_map_comap f).u_l_u_eq_u K
 #align ideal.comap_map_comap Ideal.comap_map_comap
 
-/- warning: ideal.map_sup -> Ideal.map_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (J : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (J : Ideal.{u2} R _inst_1), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I J)) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_sup Ideal.map_supₓ'. -/
 theorem map_sup : (I ⊔ J).map f = I.map f ⊔ J.map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sup
 #align ideal.map_sup Ideal.map_sup
 
-/- warning: ideal.comap_inf -> Ideal.comap_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2) (L : Ideal.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) K L)) (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2) (L : Ideal.{u3} S _inst_2), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) K L)) (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_inf Ideal.comap_infₓ'. -/
 theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
   rfl
 #align ideal.comap_inf Ideal.comap_inf
 
 variable {ι : Sort _}
 
-/- warning: ideal.map_supr -> Ideal.map_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iSup.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι K)) (iSup.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u3} R _inst_1)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι K)) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_supr Ideal.map_iSupₓ'. -/
 theorem map_iSup (K : ι → Ideal R) : (iSup K).map f = ⨆ i, (K i).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_iSup
 #align ideal.map_supr Ideal.map_iSup
 
-/- warning: ideal.comap_infi -> Ideal.comap_iInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iInf.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K)) (iInf.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u3} (Ideal.{u3} R _inst_1) (Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K)) (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_infi Ideal.comap_iInfₓ'. -/
 theorem comap_iInf (K : ι → Ideal S) : (iInf K).comap f = ⨅ i, (K i).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_iInf
 #align ideal.comap_infi Ideal.comap_iInf
 
-/- warning: ideal.map_Sup -> Ideal.map_sSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (SupSet.sSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) s)) (iSup.{u2, succ u1} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => iSup.{u2, 0} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} R _inst_1)), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (SupSet.sSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) s)) (iSup.{u3, succ u2} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => iSup.{u3, 0} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) => Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_Sup Ideal.map_sSupₓ'. -/
 theorem map_sSup (s : Set (Ideal R)) : (sSup s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sSup
 #align ideal.map_Sup Ideal.map_sSup
 
-/- warning: ideal.comap_Inf -> Ideal.comap_sInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (iInf.{u1, succ u2} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u2} S _inst_2) (fun (I : Ideal.{u2} S _inst_2) => iInf.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) (fun (H : Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (iInf.{u2, succ u3} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u3} S _inst_2) (fun (I : Ideal.{u3} S _inst_2) => iInf.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) (fun (H : Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) => Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf Ideal.comap_sInfₓ'. -/
 theorem comap_sInf (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_sInf
 #align ideal.comap_Inf Ideal.comap_sInf
 
-/- warning: ideal.comap_Inf' -> Ideal.comap_sInf' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (iInf.{u1, succ u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => iInf.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) => I)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (iInf.{u2, succ u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => iInf.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) => I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_sInf'ₓ'. -/
 theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '' s, I :=
   trans (comap_sInf f s) (by rw [iInf_image])
 #align ideal.comap_Inf' Ideal.comap_sInf'
 
-/- warning: ideal.comap_is_prime -> Ideal.comap_isPrime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2) [H : Ideal.IsPrime.{u2} S _inst_2 K], Ideal.IsPrime.{u1} R _inst_1 (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2) [H : Ideal.IsPrime.{u3} S _inst_2 K], Ideal.IsPrime.{u2} R _inst_1 (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
-Case conversion may be inaccurate. Consider using '#align ideal.comap_is_prime Ideal.comap_isPrimeₓ'. -/
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
   ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
 #align ideal.comap_is_prime Ideal.comap_isPrime
 
 variable {I J K L}
 
-/- warning: ideal.map_inf_le -> Ideal.map_inf_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) I J)) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I J)) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_inf_le Ideal.map_inf_leₓ'. -/
 theorem map_inf_le : map f (I ⊓ J) ≤ map f I ⊓ map f J :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_l.map_inf_le _ _
 #align ideal.map_inf_le Ideal.map_inf_le
 
-/- warning: ideal.le_comap_sup -> Ideal.le_comap_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L))
-Case conversion may be inaccurate. Consider using '#align ideal.le_comap_sup Ideal.le_comap_supₓ'. -/
 theorem le_comap_sup : comap f K ⊔ comap f L ≤ comap f (K ⊔ L) :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_u.le_map_sup _ _
 #align ideal.le_comap_sup Ideal.le_comap_sup
 
 omit rc
 
-/- warning: ideal.smul_top_eq_map -> Ideal.smul_top_eq_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasSMul'.{u1, u2} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) I (Top.top.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasTop.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} S _inst_4) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (algebraMap.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (HSMul.hSMul.{u2, u1, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHSMul.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.hasSMul'.{u2, u1} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5))) I (Top.top.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.instTopSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (algebraMap.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I))
-Case conversion may be inaccurate. Consider using '#align ideal.smul_top_eq_map Ideal.smul_top_eq_mapₓ'. -/
 @[simp]
 theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
     (I : Ideal R) : I • (⊤ : Submodule R S) = (I.map (algebraMap R S)).restrictScalars R :=
@@ -2535,21 +1602,12 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
     rw [smul_add]; exact Submodule.add_mem _ hx hy
 #align ideal.smul_top_eq_map Ideal.smul_top_eq_map
 
-/- warning: ideal.coe_restrict_scalars -> Ideal.coe_restrictScalars is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 _inst_4] (I : Ideal.{u2} S _inst_4), Eq.{succ u2} (Set.{u2} S) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) S (Submodule.setLike.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (Submodule.restrictScalars.{u1, u2, u2} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u2} S _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 _inst_4 _inst_5) I)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_4) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_4) S (Submodule.setLike.{u2, u2} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Semiring.toModule.{u2} S _inst_4))))) I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 _inst_4] (I : Ideal.{u1} S _inst_4), Eq.{succ u1} (Set.{u1} S) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) S (Submodule.setLike.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u1} S _inst_4) (Algebra.toSMul.{u2, u1} R S _inst_3 _inst_4 _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 _inst_4 _inst_5) I)) (SetLike.coe.{u1, u1} (Ideal.{u1} S _inst_4) S (Submodule.setLike.{u1, u1} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Semiring.toModule.{u1} S _inst_4)) I)
-Case conversion may be inaccurate. Consider using '#align ideal.coe_restrict_scalars Ideal.coe_restrictScalarsₓ'. -/
 @[simp]
 theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebra R S]
     (I : Ideal S) : (I.restrictScalars R : Set S) = ↑I :=
   rfl
 #align ideal.coe_restrict_scalars Ideal.coe_restrictScalars
 
-/- warning: ideal.restrict_scalars_mul -> Ideal.restrictScalars_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.restrict_scalars_mul Ideal.restrictScalars_mulₓ'. -/
 /-- The smallest `S`-submodule that contains all `x ∈ I * y ∈ J`
 is also the smallest `R`-submodule that does so. -/
 @[simp]
@@ -2570,12 +1628,6 @@ include hf
 
 open Function
 
-/- warning: ideal.map_comap_of_surjective -> Ideal.map_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
-Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_surjective Ideal.map_comap_of_surjectiveₓ'. -/
 theorem map_comap_of_surjective (I : Ideal S) : map f (comap f I) = I :=
   le_antisymm (map_le_iff_le_comap.2 le_rfl) fun s hsi =>
     let ⟨r, hfrs⟩ := hf s
@@ -2591,72 +1643,30 @@ def giMapComap : GaloisInsertion (map f) (comap f) :=
 #align ideal.gi_map_comap Ideal.giMapComap
 -/
 
-/- warning: ideal.map_surjective_of_surjective -> Ideal.map_surjective_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Surjective.{succ u1, succ u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
-Case conversion may be inaccurate. Consider using '#align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjectiveₓ'. -/
 theorem map_surjective_of_surjective : Surjective (map f) :=
   (giMapComap f hf).l_surjective
 #align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjective
 
-/- warning: ideal.comap_injective_of_surjective -> Ideal.comap_injective_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Injective.{succ u2, succ u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective : Injective (comap f) :=
   (giMapComap f hf).u_injective
 #align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjective
 
-/- warning: ideal.map_sup_comap_of_surjective -> Ideal.map_sup_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) I J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjectiveₓ'. -/
 theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).map f = I ⊔ J :=
   (giMapComap f hf).l_sup_u _ _
 #align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjective
 
-/- warning: ideal.map_supr_comap_of_surjective -> Ideal.map_iSup_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iSup.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
-Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjectiveₓ'. -/
 theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = iSup K :=
   (giMapComap f hf).l_iSup_u _
 #align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjective
 
-/- warning: ideal.map_inf_comap_of_surjective -> Ideal.map_inf_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) I J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjectiveₓ'. -/
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
 #align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjective
 
-/- warning: ideal.map_infi_comap_of_surjective -> Ideal.map_iInf_comap_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iInf.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
-Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjectiveₓ'. -/
 theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = iInf K :=
   (giMapComap f hf).l_iInf_u _
 #align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjective
 
-/- warning: ideal.mem_image_of_mem_map_of_surjective -> Ideal.mem_image_of_mem_map_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) -> (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) y (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjectiveₓ'. -/
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
     (fun y1 y2 ⟨x1, hx1i, hxy1⟩ ⟨x2, hx2i, hxy2⟩ =>
@@ -2666,35 +1676,17 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
     ⟨d * x, I.mul_mem_left _ hxi, hdc ▸ hxy ▸ map_mul f _ _⟩
 #align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjective
 
-/- warning: ideal.mem_map_iff_of_surjective -> Ideal.mem_map_iff_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u1} R (fun (x : R) => And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) y))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjectiveₓ'. -/
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
     hx.right ▸ mem_map_of_mem f hx.left⟩
 #align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjective
 
-/- warning: ideal.le_map_of_comap_le_of_surjective -> Ideal.le_map_of_comap_le_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
-Case conversion may be inaccurate. Consider using '#align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjectiveₓ'. -/
 theorem le_map_of_comap_le_of_surjective : comap f K ≤ I → K ≤ map f I := fun h =>
   map_comap_of_surjective f hf K ▸ map_mono h
 #align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjective
 
 omit hf
 
-/- warning: ideal.map_eq_submodule_map -> Ideal.map_eq_submodule_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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.semilinearMapClass.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
-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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.semilinearMapClass.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
-Case conversion may be inaccurate. Consider using '#align ideal.map_eq_submodule_map Ideal.map_eq_submodule_mapₓ'. -/
 theorem map_eq_submodule_map (f : R →+* S) [h : RingHomSurjective f] (I : Ideal R) :
     I.map f = Submodule.map f.toSemilinearMap I :=
   Submodule.ext fun x => mem_map_iff_of_surjective f h.1
@@ -2708,12 +1700,6 @@ variable (hf : Function.Injective f)
 
 include hf
 
-/- warning: ideal.comap_bot_le_of_injective -> Ideal.comap_bot_le_of_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
-Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injectiveₓ'. -/
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
   refine' le_trans (fun x hx => _) bot_le
@@ -2721,12 +1707,6 @@ theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   exact Eq.symm (hf hx) ▸ Submodule.zero_mem ⊥
 #align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injective
 
-/- warning: ideal.comap_bot_of_injective -> Ideal.comap_bot_of_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_of_injective Ideal.comap_bot_of_injectiveₓ'. -/
 theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
   le_bot_iff.mp (Ideal.comap_bot_le_of_injective f hf)
 #align ideal.comap_bot_of_injective Ideal.comap_bot_of_injective
@@ -2747,12 +1727,6 @@ variable (hf : Function.Surjective f)
 
 include hf
 
-/- warning: ideal.comap_map_of_surjective -> Ideal.comap_map_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) I (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2)))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_map_of_surjective Ideal.comap_map_of_surjectiveₓ'. -/
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
     (fun r h =>
@@ -2763,9 +1737,6 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
     (sup_le (map_le_iff_le_comap.1 le_rfl) (comap_mono bot_le))
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 
-/- warning: ideal.rel_iso_of_surjective -> Ideal.relIsoOfSurjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
     where
@@ -2781,23 +1752,11 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
       comap_mono⟩
 #align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjective
 
-/- warning: ideal.order_embedding_of_surjective -> Ideal.orderEmbeddingOfSurjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjectiveₓ'. -/
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
 def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
   (relIsoOfSurjective f hf).toRelEmbedding.trans (Subtype.relEmbedding _ _)
 #align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjective
 
-/- warning: ideal.map_eq_top_or_is_maximal_of_surjective -> Ideal.map_eq_top_or_isMaximal_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Or (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
-Case conversion may be inaccurate. Consider using '#align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjectiveₓ'. -/
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
   by
@@ -2809,12 +1768,6 @@ theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     · exact fun h => hJ.right (le_map_of_comap_le_of_surjective f hf (le_of_eq h.symm))
 #align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjective
 
-/- warning: ideal.comap_is_maximal_of_surjective -> Ideal.comap_isMaximal_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)} [H : Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) K], Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjectiveₓ'. -/
 theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaximal (comap f K) :=
   by
   refine' ⟨⟨comap_ne_top _ H.1.1, fun J hJ => _⟩⟩
@@ -2831,12 +1784,6 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
   exact le_trans (comap_mono bot_le) (le_of_lt hJ)
 #align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjective
 
-/- warning: ideal.comap_le_comap_iff_of_surjective -> Ideal.comap_le_comap_iff_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjectiveₓ'. -/
 theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f J ↔ I ≤ J :=
   ⟨fun h => (map_comap_of_surjective f hf I).symm.le.trans (map_le_of_le_comap h), fun h =>
     le_comap_of_map_le ((map_comap_of_surjective f hf I).le.trans h)⟩
@@ -2844,9 +1791,6 @@ theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f
 
 end Surjective
 
-/- warning: ideal.map_of_equiv -> Ideal.map_of_equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.map_of_equiv Ideal.map_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f (map f.symm) = I`. -/
 @[simp]
 theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
@@ -2854,9 +1798,6 @@ theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
   simp [← RingEquiv.toRingHom_eq_coe, map_map]
 #align ideal.map_of_equiv Ideal.map_of_equiv
 
-/- warning: ideal.comap_of_equiv -> Ideal.comap_of_equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.comap_of_equiv Ideal.comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
 theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
@@ -2864,9 +1805,6 @@ theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
   simp [← RingEquiv.toRingHom_eq_coe, comap_comap]
 #align ideal.comap_of_equiv Ideal.comap_of_equiv
 
-/- warning: ideal.map_comap_of_equiv -> Ideal.map_comap_of_equiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_equiv Ideal.map_comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f I = comap f.symm I`. -/
 theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
   le_antisymm (le_comap_of_map_le (map_of_equiv I f).le)
@@ -2879,12 +1817,6 @@ variable (hf : Function.Bijective f)
 
 include hf
 
-/- warning: ideal.rel_iso_of_bijective -> Ideal.relIsoOfBijective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_bijective Ideal.relIsoOfBijectiveₓ'. -/
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
     where
@@ -2897,23 +1829,11 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
   map_rel_iff' _ _ := (relIsoOfSurjective f hf.right).map_rel_iff'
 #align ideal.rel_iso_of_bijective Ideal.relIsoOfBijective
 
-/- warning: ideal.comap_le_iff_le_map -> Ideal.comap_le_iff_le_map is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_mapₓ'. -/
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
     (relIsoOfBijective f hf).right_inv I ▸ comap_mono h⟩
 #align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_map
 
-/- warning: ideal.map.is_maximal -> Ideal.map.isMaximal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.map.is_maximal Ideal.map.isMaximalₓ'. -/
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
       or_iff_not_imp_left.1 (map_eq_top_or_is_maximal_of_surjective f hf.right H) fun h =>
@@ -2927,12 +1847,6 @@ theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := b
 
 end Bijective
 
-/- warning: ideal.ring_equiv.bot_maximal_iff -> Ideal.RingEquiv.bot_maximal_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align ideal.ring_equiv.bot_maximal_iff Ideal.RingEquiv.bot_maximal_iffₓ'. -/
 theorem RingEquiv.bot_maximal_iff (e : R ≃+* S) :
     (⊥ : Ideal R).IsMaximal ↔ (⊥ : Ideal S).IsMaximal :=
   ⟨fun h => @map_bot _ _ _ _ _ _ e.toRingHom ▸ map.isMaximal e.toRingHom e.Bijective h, fun h =>
@@ -2955,12 +1869,6 @@ variable (I J K L)
 
 include rc
 
-/- warning: ideal.map_mul -> Ideal.map_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J)) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) I J)) (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f J))
-Case conversion may be inaccurate. Consider using '#align ideal.map_mul Ideal.map_mulₓ'. -/
 theorem map_mul : map f (I * J) = map f I * map f J :=
   le_antisymm
     (map_le_iff_le_comap.2 <|
@@ -2986,68 +1894,32 @@ def mapHom : Ideal R →*₀ Ideal S where
 #align ideal.map_hom Ideal.mapHom
 -/
 
-/- warning: ideal.map_pow -> Ideal.map_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (n : Nat), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I n)) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) n)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (n : Nat), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) I n)) (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I) n)
-Case conversion may be inaccurate. Consider using '#align ideal.map_pow Ideal.map_powₓ'. -/
 protected theorem map_pow (n : ℕ) : map f (I ^ n) = map f I ^ n :=
   map_pow (mapHom f) I n
 #align ideal.map_pow Ideal.map_pow
 
-/- warning: ideal.comap_radical -> Ideal.comap_radical is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K)) (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K)) (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_radical Ideal.comap_radicalₓ'. -/
 theorem comap_radical : comap f (radical K) = radical (comap f K) := by ext;
   simpa only [radical, mem_comap, map_pow]
 #align ideal.comap_radical Ideal.comap_radical
 
 variable {K}
 
-/- warning: ideal.is_radical.comap -> Ideal.IsRadical.comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, (Ideal.IsRadical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K) -> (Ideal.IsRadical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, (Ideal.IsRadical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K) -> (Ideal.IsRadical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
-Case conversion may be inaccurate. Consider using '#align ideal.is_radical.comap Ideal.IsRadical.comapₓ'. -/
 theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical := by
   rw [← hK.radical, comap_radical]; apply radical_is_radical
 #align ideal.is_radical.comap Ideal.IsRadical.comap
 
 variable {I J L}
 
-/- warning: ideal.map_radical_le -> Ideal.map_radical_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f I))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, LE.le.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Preorder.toLE.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.completeLattice.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I))
-Case conversion may be inaccurate. Consider using '#align ideal.map_radical_le Ideal.map_radical_leₓ'. -/
 theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
   map_le_iff_le_comap.2 fun r ⟨n, hrni⟩ => ⟨n, map_pow f r n ▸ mem_map_of_mem f hrni⟩
 #align ideal.map_radical_le Ideal.map_radical_le
 
-/- warning: ideal.le_comap_mul -> Ideal.le_comap_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} {L : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f L)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) K L))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} {L : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f L)) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) K L))
-Case conversion may be inaccurate. Consider using '#align ideal.le_comap_mul Ideal.le_comap_mulₓ'. -/
 theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
   map_le_iff_le_comap.1 <|
     (map_mul f (comap f K) (comap f L)).symm ▸
       mul_mono (map_le_iff_le_comap.2 <| le_rfl) (map_le_iff_le_comap.2 <| le_rfl)
 #align ideal.le_comap_mul Ideal.le_comap_mul
 
-/- warning: ideal.le_comap_pow -> Ideal.le_comap_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} (n : Nat), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) n) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) K n))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} (n : Nat), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) n) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) K n))
-Case conversion may be inaccurate. Consider using '#align ideal.le_comap_pow Ideal.le_comap_powₓ'. -/
 theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
   induction n
@@ -3129,9 +2001,6 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 
 variable {ι M v}
 
-/- warning: ideal.finsupp_total_apply -> Ideal.finsuppTotal_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
   dsimp [finsupp_total]
@@ -3139,17 +2008,11 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
   exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply Ideal.finsuppTotal_apply
 
-/- warning: ideal.finsupp_total_apply_eq_of_fintype -> Ideal.finsuppTotal_apply_eq_of_fintype is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i := by
   rw [finsupp_total_apply, Finsupp.sum_fintype]; exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintype
 
-/- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
   ext
@@ -3169,12 +2032,6 @@ section Basis
 
 variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
-/- warning: ideal.basis_span_singleton -> Ideal.basisSpanSingleton is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
-but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))
-Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
@@ -3184,9 +2041,6 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
-/- warning: ideal.basis_span_singleton_apply -> Ideal.basisSpanSingleton_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
     (basisSpanSingleton b hx i : S) = x * b i := by
@@ -3195,9 +2049,6 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
-/- warning: ideal.constr_basis_span_singleton -> Ideal.constr_basisSpanSingleton is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -3210,20 +2061,11 @@ end Basis
 
 end Ideal
 
-/- warning: associates.mk_ne_zero' -> Associates.mk_ne_zero' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {r : R}, Iff (Ne.{succ u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r))) (OfNat.ofNat.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (OfNat.mk.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (Zero.zero.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))))) (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {r : R}, Iff (Ne.{succ u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r))) (OfNat.ofNat.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.instZeroAssociates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommMonoidWithZero.toZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align associates.mk_ne_zero' Associates.mk_ne_zero'ₓ'. -/
 theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
 
-/- warning: basis.mem_ideal_iff -> Basis.mem_ideal_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
@@ -3231,9 +2073,6 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff
 #align basis.mem_ideal_iff Basis.mem_ideal_iff
 
-/- warning: basis.mem_ideal_iff' -> Basis.mem_ideal_iff' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff' {ι R S : Type _} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
@@ -3260,67 +2099,31 @@ def ker : Ideal R :=
 #align ring_hom.ker RingHom.ker
 -/
 
-/- warning: ring_hom.mem_ker -> RingHom.mem_ker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) r (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f r) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.mem_ker RingHom.mem_kerₓ'. -/
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
 #align ring_hom.mem_ker RingHom.mem_ker
 
-/- warning: ring_hom.ker_eq -> RingHom.ker_eq is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq RingHom.ker_eqₓ'. -/
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
 #align ring_hom.ker_eq RingHom.ker_eq
 
-/- warning: ring_hom.ker_eq_comap_bot -> RingHom.ker_eq_comap_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Ideal.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Ideal.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_comap_bot RingHom.ker_eq_comap_botₓ'. -/
 theorem ker_eq_comap_bot (f : F) : ker f = Ideal.comap f ⊥ :=
   rfl
 #align ring_hom.ker_eq_comap_bot RingHom.ker_eq_comap_bot
 
 omit rcf
 
-/- warning: ring_hom.comap_ker -> RingHom.comap_ker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : Semiring.{u3} T] (f : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (g : RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.comap.{u3, u2, max u3 u2} T S (RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_3 _inst_2 (RingHom.ringHomClass.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) g (RingHom.ker.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_2 _inst_1 (RingHom.ringHomClass.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) f)) (RingHom.ker.{u3, u1, max u3 u1} T R (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_3 _inst_1 (RingHom.ringHomClass.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.comp.{u3, u2, u1} T S R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) f g))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : Semiring.{u3} T] (f : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (g : RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.comap.{u3, u2, max u2 u3} T S (RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_3 _inst_2 (RingHom.instRingHomClassRingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) g (RingHom.ker.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_2 _inst_1 (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) f)) (RingHom.ker.{u3, u1, max u1 u3} T R (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_3 _inst_1 (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.comp.{u3, u2, u1} T S R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) f g))
-Case conversion may be inaccurate. Consider using '#align ring_hom.comap_ker RingHom.comap_kerₓ'. -/
 theorem comap_ker (f : S →+* R) (g : T →+* S) : f.ker.comap g = (f.comp g).ker := by
   rw [RingHom.ker_eq_comap_bot, Ideal.comap_comap, RingHom.ker_eq_comap_bot]
 #align ring_hom.comap_ker RingHom.comap_ker
 
 include rcf
 
-/- warning: ring_hom.not_one_mem_ker -> RingHom.not_one_mem_ker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] [_inst_4 : Nontrivial.{u2} S] (f : F), Not (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Not (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f))
-Case conversion may be inaccurate. Consider using '#align ring_hom.not_one_mem_ker RingHom.not_one_mem_kerₓ'. -/
 /-- If the target is not the zero ring, then one is not in the kernel.-/
 theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f := by rw [mem_ker, map_one];
   exact one_ne_zero
 #align ring_hom.not_one_mem_ker RingHom.not_one_mem_ker
 
-/- warning: ring_hom.ker_ne_top -> RingHom.ker_ne_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] [_inst_4 : Nontrivial.{u2} S] (f : F), Ne.{succ u1} (Ideal.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Ne.{succ u2} (Ideal.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_ne_top RingHom.ker_ne_topₓ'. -/
 theorem ker_ne_top [Nontrivial S] (f : F) : ker f ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr <| not_one_mem_ker f
 #align ring_hom.ker_ne_top RingHom.ker_ne_top
@@ -3335,45 +2138,21 @@ variable {F : Type _} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
 
 include rc
 
-/- warning: ring_hom.injective_iff_ker_eq_bot -> RingHom.injective_iff_ker_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_botₓ'. -/
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ := by
   rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]; exact injective_iff_map_eq_zero' f
 #align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_bot
 
-/- warning: ring_hom.ker_eq_bot_iff_eq_zero -> RingHom.ker_eq_bot_iff_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (forall (x : R), (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))) -> (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zeroₓ'. -/
 theorem ker_eq_bot_iff_eq_zero : ker f = ⊥ ↔ ∀ x, f x = 0 → x = 0 := by
   rw [← injective_iff_map_eq_zero f, injective_iff_ker_eq_bot]
 #align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zero
 
 omit rc
 
-/- warning: ring_hom.ker_coe_equiv -> RingHom.ker_coe_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_coe_equiv RingHom.ker_coe_equivₓ'. -/
 @[simp]
 theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_coe_equiv RingHom.ker_coe_equiv
 
-/- warning: ring_hom.ker_equiv -> RingHom.ker_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 : F'), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) _inst_3) f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] {F' : Type.{u1}} [_inst_3 : RingEquivClass.{u1, u2, u3} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Distrib.toAdd.{u3} S (NonUnitalNonAssocSemiring.toDistrib.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))))] (f : F'), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F' (Ring.toSemiring.{u2} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u1, u2, u3} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) _inst_3) f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_equiv RingHom.ker_equivₓ'. -/
 @[simp]
 theorem ker_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
@@ -3387,23 +2166,11 @@ variable {F : Type _} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
 
 include rc
 
-/- warning: ring_hom.sub_mem_ker_iff -> RingHom.sub_mem_ker_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
-Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
 
 end RingRing
 
-/- warning: ring_hom.ker_is_prime -> RingHom.ker_isPrime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : IsDomain.{u2} S (Ring.toSemiring.{u2} S _inst_2)] [_inst_4 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_4 f)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S _inst_2)] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_4 f)
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_prime RingHom.ker_isPrimeₓ'. -/
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
 theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
@@ -3411,12 +2178,6 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
-/- warning: ring_hom.ker_is_maximal_of_surjective -> RingHom.ker_isMaximal_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {K : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> K) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => K) (MulHomClass.toFunLike.{u3, u1, u2} F R K (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} K (NonUnitalNonAssocSemiring.toDistrib.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2)))) _inst_3)))) f)) -> (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R K F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))) _inst_3 f))
-but is expected to have type
-  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
-Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_maximal_of_surjective RingHom.ker_isMaximal_of_surjectiveₓ'. -/
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
 theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
     (hf : Function.Surjective f) : (ker f).IsMaximal :=
@@ -3444,22 +2205,10 @@ variable [Semiring R] [Semiring S] [rc : RingHomClass F R S]
 
 include rc
 
-/- warning: ideal.map_eq_bot_iff_le_ker -> Ideal.map_eq_bot_iff_le_ker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u1} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u3} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.instBotSubmodule.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) I (RingHom.ker.{u3, u2, u1} R S F _inst_1 _inst_2 rc f))
-Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_kerₓ'. -/
 theorem map_eq_bot_iff_le_ker {I : Ideal R} (f : F) : I.map f = ⊥ ↔ I ≤ RingHom.ker f := by
   rw [RingHom.ker, eq_bot_iff, map_le_iff_le_comap]
 #align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_ker
 
-/- warning: ideal.ker_le_comap -> Ideal.ker_le_comap is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {K : Ideal.{u2} S _inst_2} (f : F), LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {K : Ideal.{u3} S _inst_2} (f : F), LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
-Case conversion may be inaccurate. Consider using '#align ideal.ker_le_comap Ideal.ker_le_comapₓ'. -/
 theorem ker_le_comap {K : Ideal S} (f : F) : RingHom.ker f ≤ comap f K := fun x hx =>
   mem_comap.2 (((RingHom.mem_ker f).1 hx).symm ▸ K.zero_mem)
 #align ideal.ker_le_comap Ideal.ker_le_comap
@@ -3472,12 +2221,6 @@ variable [Ring R] [Ring S] [rc : RingHomClass F R S]
 
 include rc
 
-/- warning: ideal.map_Inf -> Ideal.map_sInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_sInfₓ'. -/
 theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) :=
   by
@@ -3500,12 +2243,6 @@ theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     simpa only [sub_add_cancel] using J.add_mem this hx'
 #align ideal.map_Inf Ideal.map_sInf
 
-/- warning: ideal.map_is_prime_of_surjective -> Ideal.map_isPrime_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjectiveₓ'. -/
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) :=
   by
@@ -3525,12 +2262,6 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
       (H.mem_or_mem this).imp (fun h => ha ▸ mem_map_of_mem f h) fun h => hb ▸ mem_map_of_mem f h
 #align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjective
 
-/- warning: ideal.map_eq_bot_iff_of_injective -> Ideal.map_eq_bot_iff_of_injective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {f : F}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injectiveₓ'. -/
 theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injective f) :
     I.map f = ⊥ ↔ I = ⊥ := by
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
@@ -3538,12 +2269,6 @@ theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injecti
 
 omit rc
 
-/- warning: ideal.map_is_prime_of_equiv -> Ideal.map_isPrime_of_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))] (f : F') {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3) f I)
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u1} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u2, u1} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (NonUnitalNonAssocRing.toMul.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S _inst_2))) (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S _inst_2)))))] (f : F') {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) I], Ideal.IsPrime.{u1} S (Ring.toSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, u3} R S F' (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u2, u1} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_2)) _inst_3) f I)
-Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equivₓ'. -/
 theorem map_isPrime_of_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') {I : Ideal R}
     [IsPrime I] : IsPrime (map f I) :=
   map_isPrime_of_surjective (EquivLike.surjective f) <| by simp only [RingHom.ker_equiv, bot_le]
@@ -3555,18 +2280,12 @@ section CommRing
 
 variable [CommRing R] [CommRing S]
 
-/- warning: ideal.map_eq_iff_sup_ker_eq_of_surjective -> Ideal.map_eq_iff_sup_ker_eq_of_surjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
   rw [← (comap_injective_of_surjective f hf).eq_iff, comap_map_of_surjective f hf,
     comap_map_of_surjective f hf, RingHom.ker_eq_comap_bot]
 #align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjective
 
-/- warning: ideal.map_radical_of_surjective -> Ideal.map_radical_of_surjective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
   by
@@ -3614,12 +2333,6 @@ variable {A B C : Type _} [Ring A] [Ring B] [Ring C]
 
 variable (f : A →+* B) (f_inv : B → A)
 
-/- warning: ring_hom.lift_of_right_inverse_aux -> RingHom.liftOfRightInverseAux is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
-but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAuxₓ'. -/
 /-- Auxiliary definition used to define `lift_of_right_inverse` -/
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (hg : f.ker ≤ g.ker) :
     B →+* C :=
@@ -3640,21 +2353,12 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
       simp only [hf _] }
 #align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAux
 
-/- warning: ring_hom.lift_of_right_inverse_aux_comp_apply -> RingHom.liftOfRightInverseAux_comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (a : A) : (f.liftOfRightInverseAux f_inv hf g hg) (f a) = g a :=
   f.toAddMonoidHom.liftOfRightInverse_comp_apply f_inv hf ⟨g.toAddMonoidHom, hg⟩ a
 #align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_apply
 
-/- warning: ring_hom.lift_of_right_inverse -> RingHom.liftOfRightInverse is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
-but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverseₓ'. -/
 /-- `lift_of_right_inverse f hf g hg` is the unique ring homomorphism `φ`
 
 * such that `φ.comp f = g` (`ring_hom.lift_of_right_inverse_comp`),
@@ -3686,12 +2390,6 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
     simp [lift_of_right_inverse_aux, hf b]
 #align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverse
 
-/- warning: ring_hom.lift_of_surjective -> RingHom.liftOfSurjective is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
-but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_surjective RingHom.liftOfSurjectiveₓ'. -/
 /-- A non-computable version of `ring_hom.lift_of_right_inverse` for when no computable right
 inverse is available, that uses `function.surj_inv`. -/
 @[simp]
@@ -3700,26 +2398,17 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
   f.liftOfRightInverse (Function.surjInv hf) (Function.rightInverse_surjInv hf)
 #align ring_hom.lift_of_surjective RingHom.liftOfSurjective
 
-/- warning: ring_hom.lift_of_right_inverse_comp_apply -> RingHom.liftOfRightInverse_comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
     (f.liftOfRightInverse f_inv hf g) (f x) = g x :=
   f.liftOfRightInverseAux_comp_apply f_inv hf g.1 g.2 x
 #align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_apply
 
-/- warning: ring_hom.lift_of_right_inverse_comp -> RingHom.liftOfRightInverse_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
   RingHom.ext <| f.liftOfRightInverse_comp_apply f_inv hf g
 #align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_comp
 
-/- warning: ring_hom.eq_lift_of_right_inverse -> RingHom.eq_liftOfRightInverse is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
     h = f.liftOfRightInverse f_inv hf ⟨g, hg⟩ :=
Diff
@@ -93,17 +93,13 @@ theorem mem_annihilator_span (s : Set M) (r : R) :
   by
   rw [Submodule.mem_annihilator]
   constructor
-  · intro h n
-    exact h _ (Submodule.subset_span n.prop)
+  · intro h n; exact h _ (Submodule.subset_span n.prop)
   · intro h n hn
     apply Submodule.span_induction hn
-    · intro x hx
-      exact h ⟨x, hx⟩
+    · intro x hx; exact h ⟨x, hx⟩
     · exact smul_zero _
-    · intro x y hx hy
-      rw [smul_add, hx, hy, zero_add]
-    · intro a x hx
-      rw [smul_comm, hx, smul_zero]
+    · intro x y hx hy; rw [smul_add, hx, hy, zero_add]
+    · intro a x hx; rw [smul_comm, hx, smul_zero]
 #align submodule.mem_annihilator_span Submodule.mem_annihilator_span
 
 /- warning: submodule.mem_annihilator_span_singleton -> Submodule.mem_annihilator_span_singleton is a dubious translation:
@@ -420,9 +416,7 @@ theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t 
 theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
     (Ideal.span {r} : Ideal R) • N = r • N :=
   by
-  have : span R (⋃ (t : M) (x : t ∈ N), {r • t}) = r • N :=
-    by
-    convert span_eq _
+  have : span R (⋃ (t : M) (x : t ∈ N), {r • t}) = r • N := by convert span_eq _;
     exact (Set.image_eq_iUnion _ (N : Set M)).symm
   conv_lhs => rw [← span_eq N, span_smul_span]
   simpa
@@ -438,9 +432,7 @@ Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
-  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M'
-    by
-    rw [top_smul] at this
+  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by rw [top_smul] at this;
     exact this (subset_span (Set.mem_singleton x))
   rw [← hs, span_smul_span, span_le]
   simpa using H
@@ -509,10 +501,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
     rintro x ⟨y, hy, x, ⟨i, rfl⟩, rfl⟩
     refine' ⟨Finsupp.single i y, fun j => _, _⟩
     · letI := Classical.decEq ι
-      rw [Finsupp.single_apply]
-      split_ifs
-      · assumption
-      · exact I.zero_mem
+      rw [Finsupp.single_apply]; split_ifs; · assumption; · exact I.zero_mem
     refine' @Finsupp.sum_single_index ι R M _ _ i _ (fun i y => y • f i) _
     simp
   · exact ⟨0, fun i => I.zero_mem, Finsupp.sum_zero_index⟩
@@ -747,9 +736,7 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
     apply Finset.induction_on s
-    · intro
-      rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]
-      exact Submodule.mem_top
+    · intro ; rw [Finset.prod_empty, Finset.prod_empty, one_eq_top]; exact Submodule.mem_top
     · intro a s ha IH h
       rw [Finset.prod_insert ha, Finset.prod_insert ha]
       exact
@@ -860,9 +847,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Set.{u1} R) (T : Set.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) S) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) T)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Set.{u1} R) (Set.{u1} R) (Set.{u1} R) (instHMul.{u1} (Set.{u1} R) (Set.mul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) S T))
 Case conversion may be inaccurate. Consider using '#align ideal.span_mul_span' Ideal.span_mul_span'ₓ'. -/
-theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) :=
-  by
-  unfold span
+theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) := by unfold span;
   rw [Submodule.span_mul_span]
 #align ideal.span_mul_span' Ideal.span_mul_span'
 
@@ -873,9 +858,7 @@ but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (r : R) (s : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) s))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s)))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singletonₓ'. -/
 theorem span_singleton_mul_span_singleton (r s : R) :
-    span {r} * span {s} = (span {r * s} : Ideal R) :=
-  by
-  unfold span
+    span {r} * span {s} = (span {r * s} : Ideal R) := by unfold span;
   rw [Submodule.span_mul_span, Set.singleton_mul_singleton]
 #align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singleton
 
@@ -1140,8 +1123,7 @@ Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_le
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
     refine' s.induction_on _ _
-    · rw [Multiset.inf_zero]
-      exact le_top
+    · rw [Multiset.inf_zero]; exact le_top
     intro a s ih
     rw [Multiset.prod_cons, Multiset.inf_cons]
     exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
@@ -1192,9 +1174,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I K) (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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_rightₓ'. -/
-theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J :=
-  by
-  rw [mul_comm]
+theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J := by rw [mul_comm];
   exact sup_mul_eq_of_coprime_left h
 #align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_right
 
@@ -1204,9 +1184,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K J))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_leftₓ'. -/
-theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J :=
-  by
-  rw [sup_comm] at h
+theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
 
@@ -1216,9 +1194,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_rightₓ'. -/
-theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J :=
-  by
-  rw [sup_comm] at h
+theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J := by rw [sup_comm] at h;
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 
@@ -1275,10 +1251,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
 Case conversion may be inaccurate. Consider using '#align ideal.sup_pow_eq_top Ideal.sup_pow_eq_topₓ'. -/
-theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ :=
-  by
-  rw [← Finset.card_range n, ← Finset.prod_const]
-  exact sup_prod_eq_top fun _ _ => h
+theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ := by
+  rw [← Finset.card_range n, ← Finset.prod_const]; exact sup_prod_eq_top fun _ _ => h
 #align ideal.sup_pow_eq_top Ideal.sup_pow_eq_top
 
 /- warning: ideal.pow_sup_eq_top -> Ideal.pow_sup_eq_top is a dubious translation:
@@ -1287,10 +1261,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) 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)))))
 Case conversion may be inaccurate. Consider using '#align ideal.pow_sup_eq_top Ideal.pow_sup_eq_topₓ'. -/
-theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ :=
-  by
-  rw [← Finset.card_range n, ← Finset.prod_const]
-  exact prod_sup_eq_top fun _ _ => h
+theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ := by
+  rw [← Finset.card_range n, ← Finset.prod_const]; exact prod_sup_eq_top fun _ _ => h
 #align ideal.pow_sup_eq_top Ideal.pow_sup_eq_top
 
 /- warning: ideal.pow_sup_pow_eq_top -> Ideal.pow_sup_pow_eq_top is a dubious translation:
@@ -1428,10 +1400,8 @@ Case conversion may be inaccurate. Consider using '#align ideal.pow_mono Ideal.p
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
-  · rw [pow_zero, pow_zero]
-    exact rfl.le
-  · rw [pow_succ, pow_succ]
-    exact Ideal.mul_mono e n_ih
+  · rw [pow_zero, pow_zero]; exact rfl.le
+  · rw [pow_succ, pow_succ]; exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
 
 /- warning: ideal.mul_eq_bot -> Ideal.mul_eq_bot is a dubious translation:
@@ -1748,9 +1718,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
       Or.cases_on (lt_or_eq_of_le <| Nat.le_of_lt_succ H)
         (fun H =>
           calc
-            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) :=
-              by
-              rw [pow_succ]
+            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by rw [pow_succ];
               exact radical_mul _ _
             _ = radical I ⊓ radical I := by rw [ih H]
             _ = radical I := inf_idem
@@ -1899,8 +1867,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
   generalize hn : s.card = n; intro h
   induction' n with n ih generalizing a b s
   · clear hp
-    rw [Finset.card_eq_zero] at hn
-    subst hn
+    rw [Finset.card_eq_zero] at hn; subst hn
     rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
@@ -1912,26 +1879,20 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
       obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
         ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
-      have hp' : ∀ k ∈ insert i u, is_prime (f k) :=
-        by
-        rw [Finset.forall_mem_insert] at hp⊢
+      have hp' : ∀ k ∈ insert i u, is_prime (f k) := by rw [Finset.forall_mem_insert] at hp⊢;
         exact ⟨hp.1, hp.2.2⟩
       have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
-      have hn' : (insert i u).card = n :=
-        by
-        rwa [Finset.card_insert_of_not_mem] at hn⊢
+      have hn' : (insert i u).card = n := by rwa [Finset.card_insert_of_not_mem] at hn⊢;
         exacts[hiu, hju]
       have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
         by
-        rw [Finset.coe_insert] at h⊢
-        rw [Finset.coe_insert] at h
+        rw [Finset.coe_insert] at h⊢; rw [Finset.coe_insert] at h
         simp only [Set.biUnion_insert] at h⊢
         rw [← Set.union_assoc ↑(f i)] at h
         erw [Set.union_eq_self_of_subset_right hfji] at h
         exact h
       specialize ih a b (insert i u) hp' hn' h'
-      refine' ih.imp id (Or.imp id (Exists.imp fun k => _))
-      simp only [exists_prop]
+      refine' ih.imp id (Or.imp id (Exists.imp fun k => _)); simp only [exists_prop]
       exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
     by_cases Ha : f a ≤ f i
     · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
@@ -1940,8 +1901,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
           Set.union_right_comm ↑(f a)] at h
         erw [Set.union_eq_self_of_subset_left Ha] at h
         exact h
-      specialize ih i b t hp.2 hn h'
-      right
+      specialize ih i b t hp.2 hn h'; right
       rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
       · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
       · exact Or.inl ih
@@ -1968,16 +1928,9 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
     rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
     by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
-    · specialize ih hp.2 hn HI
-      rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
-      · left
-        exact ih
-      · right
-        left
-        exact ih
-      · right
-        right
-        exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
+    · specialize ih hp.2 hn HI; rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
+      · left; exact ih; · right; left; exact ih
+      · right; right; exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
     exfalso
     rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
     rw [Finset.coe_insert, Set.biUnion_insert] at h
@@ -1986,8 +1939,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
     · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
     · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-    · rw [Set.mem_iUnion₂] at ht
-      rcases ht with ⟨j, hjt, hj⟩
+    · rw [Set.mem_iUnion₂] at ht; rcases ht with ⟨j, hjt, hj⟩
       simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
       exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
@@ -2013,16 +1965,14 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
       by_cases hbt : b ∈ t
       · obtain ⟨u, hbu, rfl⟩ : ∃ u, b ∉ u ∧ insert b u = t :=
           ⟨t.erase b, Finset.not_mem_erase b t, Finset.insert_erase hbt⟩
-        have hp' : ∀ i ∈ u, is_prime (f i) := by
-          intro i hiu
+        have hp' : ∀ i ∈ u, is_prime (f i) := by intro i hiu;
           refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
               rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
           Set.union_assoc, subset_union_prime' hp', bex_def] at h
         rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
-      · have hp' : ∀ j ∈ t, is_prime (f j) := by
-          intro j hj
+      · have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
@@ -2031,23 +1981,20 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
     · by_cases hbs : b ∈ s
       · obtain ⟨t, hbt, rfl⟩ : ∃ t, b ∉ t ∧ insert b t = s :=
           ⟨s.erase b, Finset.not_mem_erase b s, Finset.insert_erase hbs⟩
-        have hp' : ∀ j ∈ t, is_prime (f j) := by
-          intro j hj
+        have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
           subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
         rwa [Finset.exists_mem_insert]
       cases' s.eq_empty_or_nonempty with hse hsne
-      · subst hse
-        rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
+      · subst hse; rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
         exact absurd h this
       · cases' hsne.bex with i his
         obtain ⟨t, hit, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
           ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
-        have hp' : ∀ j ∈ t, is_prime (f j) := by
-          intro j hj
+        have hp' : ∀ j ∈ t, is_prime (f j) := by intro j hj;
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
@@ -2578,16 +2525,14 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
     rw [← mul_one (algebraMap R S x), ← Algebra.smul_def]
     exact Submodule.smul_mem_smul hx Submodule.mem_top
   · exact Submodule.zero_mem _
-  · intro x y
-    exact Submodule.add_mem _
+  · intro x y; exact Submodule.add_mem _
   intro a x hx
   refine' Submodule.smul_induction_on hx _ _
   · intro r hr s hs
     rw [smul_comm]
     exact Submodule.smul_mem_smul hr Submodule.mem_top
   · intro x y hx hy
-    rw [smul_add]
-    exact Submodule.add_mem _ hx hy
+    rw [smul_add]; exact Submodule.add_mem _ hx hy
 #align ideal.smul_top_eq_map Ideal.smul_top_eq_map
 
 /- warning: ideal.coe_restrict_scalars -> Ideal.coe_restrictScalars is a dubious translation:
@@ -3057,9 +3002,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K)) (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_radical Ideal.comap_radicalₓ'. -/
-theorem comap_radical : comap f (radical K) = radical (comap f K) :=
-  by
-  ext
+theorem comap_radical : comap f (radical K) = radical (comap f K) := by ext;
   simpa only [radical, mem_comap, map_pow]
 #align ideal.comap_radical Ideal.comap_radical
 
@@ -3071,10 +3014,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, (Ideal.IsRadical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K) -> (Ideal.IsRadical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.is_radical.comap Ideal.IsRadical.comapₓ'. -/
-theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical :=
-  by
-  rw [← hK.radical, comap_radical]
-  apply radical_is_radical
+theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical := by
+  rw [← hK.radical, comap_radical]; apply radical_is_radical
 #align ideal.is_radical.comap Ideal.IsRadical.comap
 
 variable {I J L}
@@ -3110,10 +3051,8 @@ Case conversion may be inaccurate. Consider using '#align ideal.le_comap_pow Ide
 theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
   induction n
-  · rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]
-    exact rfl.le
-  · rw [pow_succ, pow_succ]
-    exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
+  · rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]; exact rfl.le
+  · rw [pow_succ, pow_succ]; exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
 #align ideal.le_comap_pow Ideal.le_comap_pow
 
 omit rc
@@ -3165,8 +3104,7 @@ theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
     · exact Or.inl ⟨hxi, hxj⟩
     · exact Or.inr hyj
-    · rw [hij] at hyi
-      exact Or.inr hyi⟩
+    · rw [hij] at hyi; exact Or.inr hyi⟩
 #align ideal.is_primary_inf Ideal.isPrimary_inf
 -/
 
@@ -3205,10 +3143,8 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 <too large>
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
-    finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
-  by
-  rw [finsupp_total_apply, Finsupp.sum_fintype]
-  exact fun _ => zero_smul _ _
+    finsuppTotal ι M I v f = ∑ i, (f i : R) • v i := by
+  rw [finsupp_total_apply, Finsupp.sum_fintype]; exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintype
 
 /- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
@@ -3223,10 +3159,7 @@ theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.spa
   classical
     refine' ⟨a.map_range (fun r => if h : r ∈ I then ⟨r, h⟩ else 0) (by split_ifs <;> rfl), _⟩
     rw [finsupp_total_apply, Finsupp.sum_mapRange_index]
-    · apply Finsupp.sum_congr
-      intro i _
-      rw [dif_pos (ha i)]
-      rfl
+    · apply Finsupp.sum_congr; intro i _; rw [dif_pos (ha i)]; rfl
     · exact fun _ => zero_smul _ _
 #align ideal.range_finsupp_total Ideal.range_finsuppTotal
 
@@ -3247,10 +3180,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
   b.map <|
     LinearEquiv.ofInjective (Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
-        LinearEquiv.ofEq _ _
-          (by
-            ext
-            simp [mem_span_singleton', mul_comm]) ≪≫ₗ
+        LinearEquiv.ofEq _ _ (by ext; simp [mem_span_singleton', mul_comm]) ≪≫ₗ
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
@@ -3381,9 +3311,7 @@ but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Not (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f))
 Case conversion may be inaccurate. Consider using '#align ring_hom.not_one_mem_ker RingHom.not_one_mem_kerₓ'. -/
 /-- If the target is not the zero ring, then one is not in the kernel.-/
-theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f :=
-  by
-  rw [mem_ker, map_one]
+theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f := by rw [mem_ker, map_one];
   exact one_ne_zero
 #align ring_hom.not_one_mem_ker RingHom.not_one_mem_ker
 
@@ -3413,10 +3341,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_botₓ'. -/
-theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
-  by
-  rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]
-  exact injective_iff_map_eq_zero' f
+theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ := by
+  rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]; exact injective_iff_map_eq_zero' f
 #align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_bot
 
 /- warning: ring_hom.ker_eq_bot_iff_eq_zero -> RingHom.ker_eq_bot_iff_eq_zero is a dubious translation:
@@ -3481,9 +3407,7 @@ Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_prime
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
 theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
-  ⟨by
-    rw [Ne.def, Ideal.eq_top_iff_one]
-    exact not_one_mem_ker f, fun x y => by
+  ⟨by rw [Ne.def, Ideal.eq_top_iff_one]; exact not_one_mem_ker f, fun x y => by
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
Diff
@@ -197,10 +197,7 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
 #align submodule.smul_induction_on Submodule.smul_induction_on
 
 /- warning: submodule.smul_induction_on' -> Submodule.smul_induction_on' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) {p : forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (y : M) (hy : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) x y hx hy))) -> (p x hx)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on' Submodule.smul_induction_on'ₓ'. -/
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
@@ -450,10 +447,7 @@ theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal
 #align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_mem
 
 /- warning: submodule.mem_of_span_eq_top_of_smul_pow_mem -> Submodule.mem_of_span_eq_top_of_smul_pow_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Exists.{1} Nat (fun (n : Nat) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) n) x) M')) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Exists.{1} Nat (fun (n : Nat) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) n) x) M')) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_eq_top_of_smul_pow_mem Submodule.mem_of_span_eq_top_of_smul_pow_memₓ'. -/
 /-- Given `s`, a generating set of `R`, to check that an `x : M` falls in a
 submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `n` for each `r : s`. -/
@@ -499,10 +493,7 @@ theorem mem_smul_span {s : Set M} {x : M} :
 variable (I)
 
 /- warning: submodule.mem_ideal_smul_span_iff_exists_sum -> Submodule.mem_ideal_smul_span_iff_exists_sum is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.range.{u2, succ u3} M ι f)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} ι R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : ι) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f i))) x)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sumₓ'. -/
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
@@ -534,10 +525,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
 
 /- warning: submodule.mem_ideal_smul_span_iff_exists_sum' -> Submodule.mem_ideal_smul_span_iff_exists_sum' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (s : Set.{u3} ι) (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.image.{u3, u2} ι M f s)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeSubtype.{succ u3} ι (fun (x : ι) => Membership.Mem.{u3, u3} ι (Set.{u3} ι) (Set.hasMem.{u3} ι) x s))))) i)))) x)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'ₓ'. -/
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
@@ -545,10 +533,7 @@ theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι 
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
 
 /- warning: submodule.mem_smul_top_iff -> Submodule.mem_smul_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N), Iff (Membership.Mem.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.setLike.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSMul'.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) I (Top.top.{u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasTop.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N))))) x) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.setLike.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSMul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_top_iff Submodule.mem_smul_top_iffₓ'. -/
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
@@ -601,10 +586,7 @@ theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
 -/
 
 /- warning: submodule.mem_colon' -> Submodule.mem_colon' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
@@ -1890,10 +1872,7 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 #align ideal.subset_union Ideal.subset_union
 
 /- warning: ideal.subset_union_prime' -> Ideal.subset_union_prime' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
-but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f b))) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -2624,10 +2603,7 @@ theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebr
 #align ideal.coe_restrict_scalars Ideal.coe_restrictScalars
 
 /- warning: ideal.restrict_scalars_mul -> Ideal.restrictScalars_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (J : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (instHMul.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.hasMul.{u2} S _inst_4)) I J)) (HMul.hMul.{u2, u2, u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (instHMul.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.mul.{u1, u2} R _inst_3 S (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) J))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (J : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (instHMul.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.instMulIdealToSemiring.{u1} S _inst_4)) I J)) (HMul.hMul.{u1, u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHMul.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.mul.{u2, u1} R _inst_3 S (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) J))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.restrict_scalars_mul Ideal.restrictScalars_mulₓ'. -/
 /-- The smallest `S`-submodule that contains all `x ∈ I * y ∈ J`
 is also the smallest `R`-submodule that does so. -/
@@ -2843,10 +2819,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 
 /- warning: ideal.rel_iso_of_surjective -> Ideal.relIsoOfSurjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
@@ -2927,10 +2900,7 @@ theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f
 end Surjective
 
 /- warning: ideal.map_of_equiv -> Ideal.map_of_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I)) I
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) I)) I
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.map_of_equiv Ideal.map_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f (map f.symm) = I`. -/
 @[simp]
@@ -2940,10 +2910,7 @@ theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
 #align ideal.map_of_equiv Ideal.map_of_equiv
 
 /- warning: ideal.comap_of_equiv -> Ideal.comap_of_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) I)) I
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f)) I)) I
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.comap_of_equiv Ideal.comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
@@ -2953,10 +2920,7 @@ theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
 #align ideal.comap_of_equiv Ideal.comap_of_equiv
 
 /- warning: ideal.map_comap_of_equiv -> Ideal.map_comap_of_equiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u2 u1} S R (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f) I)
-but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u1 u2} S R (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f) I)
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_equiv Ideal.map_comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f I = comap f.symm I`. -/
 theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
@@ -3228,10 +3192,7 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 variable {ι M v}
 
 /- warning: ideal.finsupp_total_apply -> Ideal.finsuppTotal_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
-but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3241,10 +3202,7 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 #align ideal.finsupp_total_apply Ideal.finsuppTotal_apply
 
 /- warning: ideal.finsupp_total_apply_eq_of_fintype -> Ideal.finsuppTotal_apply_eq_of_fintype is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
-but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3254,10 +3212,7 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
 #align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintype
 
 /- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSMul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
-but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSMul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
@@ -3300,10 +3255,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
 /- warning: ideal.basis_span_singleton_apply -> Ideal.basisSpanSingleton_apply is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
-but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) b i))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3314,10 +3266,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 /- warning: ideal.constr_basis_span_singleton -> Ideal.constr_basisSpanSingleton is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
-but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3343,10 +3292,7 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
 
 /- warning: basis.mem_ideal_iff -> Basis.mem_ideal_iff is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) b i))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3356,10 +3302,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 #align basis.mem_ideal_iff Basis.mem_ideal_iff
 
 /- warning: basis.mem_ideal_iff' -> Basis.mem_ideal_iff' is a dubious translation:
-lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
-but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Finset.sum.{u1, u3} S ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4)) (c i) (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) b i))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3689,10 +3632,7 @@ section CommRing
 variable [CommRing R] [CommRing S]
 
 /- warning: ideal.map_eq_iff_sup_ker_eq_of_surjective -> Ideal.map_eq_iff_sup_ker_eq_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (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)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f J)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) J (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
@@ -3701,10 +3641,7 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 #align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjective
 
 /- warning: ideal.map_radical_of_surjective -> Ideal.map_radical_of_surjective is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
-but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
@@ -3780,10 +3717,7 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
 #align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAux
 
 /- warning: ring_hom.lift_of_right_inverse_aux_comp_apply -> RingHom.liftOfRightInverseAux_comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
-but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
+<too large>
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
@@ -3843,10 +3777,7 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
 #align ring_hom.lift_of_surjective RingHom.liftOfSurjective
 
 /- warning: ring_hom.lift_of_right_inverse_comp_apply -> RingHom.liftOfRightInverse_comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
-but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
+<too large>
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
@@ -3855,10 +3786,7 @@ theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
 #align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_apply
 
 /- warning: ring_hom.lift_of_right_inverse_comp -> RingHom.liftOfRightInverse_comp is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
-but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
+<too large>
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
@@ -3866,10 +3794,7 @@ theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
 #align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_comp
 
 /- warning: ring_hom.eq_lift_of_right_inverse -> RingHom.eq_liftOfRightInverse is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
-but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
Diff
@@ -3359,7 +3359,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Finset.sum.{u1, u3} S ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4)) (c i) (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
Diff
@@ -3231,7 +3231,7 @@ variable {ι M v}
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3244,7 +3244,7 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3317,7 +3317,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
Diff
@@ -2170,7 +2170,7 @@ theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_of_mem Ideal.mem_map_of_memₓ'. -/
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
@@ -2180,7 +2180,7 @@ theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (x : coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I), Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I))))) x)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
 Case conversion may be inaccurate. Consider using '#align ideal.apply_coe_mem_map Ideal.apply_coe_mem_mapₓ'. -/
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
@@ -2200,7 +2200,7 @@ theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) K)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_comap Ideal.mem_comapₓ'. -/
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
@@ -2237,7 +2237,7 @@ include rcg
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.setLike.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.setLike.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
@@ -2251,7 +2251,7 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.setLike.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.setLike.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
@@ -2261,7 +2261,7 @@ theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverseₓ'. -/
 /-- The `ideal` version of `set.image_subset_preimage_of_inverse`. -/
 theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse g f) :
@@ -2273,7 +2273,7 @@ theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverseₓ'. -/
 /-- The `ideal` version of `set.preimage_subset_image_of_inverse`. -/
 theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse g f) :
@@ -2366,7 +2366,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} R), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.span.{u1} R _inst_1 s)) (Ideal.span.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) s))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
 Case conversion may be inaccurate. Consider using '#align ideal.map_span Ideal.map_spanₓ'. -/
 theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
   symm <|
@@ -2653,7 +2653,7 @@ open Function
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_surjective Ideal.map_comap_of_surjectiveₓ'. -/
 theorem map_comap_of_surjective (I : Ideal S) : map f (comap f I) = I :=
   le_antisymm (map_le_iff_le_comap.2 le_rfl) fun s hsi =>
@@ -2674,7 +2674,7 @@ def giMapComap : GaloisInsertion (map f) (comap f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Surjective.{succ u1, succ u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
 Case conversion may be inaccurate. Consider using '#align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjectiveₓ'. -/
 theorem map_surjective_of_surjective : Surjective (map f) :=
   (giMapComap f hf).l_surjective
@@ -2684,7 +2684,7 @@ theorem map_surjective_of_surjective : Surjective (map f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Injective.{succ u2, succ u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective : Injective (comap f) :=
   (giMapComap f hf).u_injective
@@ -2694,7 +2694,7 @@ theorem comap_injective_of_surjective : Injective (comap f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjectiveₓ'. -/
 theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).map f = I ⊔ J :=
   (giMapComap f hf).l_sup_u _ _
@@ -2704,7 +2704,7 @@ theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iSup.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
 Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjectiveₓ'. -/
 theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = iSup K :=
   (giMapComap f hf).l_iSup_u _
@@ -2714,7 +2714,7 @@ theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjectiveₓ'. -/
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
@@ -2724,7 +2724,7 @@ theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iInf.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
 Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjectiveₓ'. -/
 theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = iInf K :=
   (giMapComap f hf).l_iInf_u _
@@ -2734,7 +2734,7 @@ theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) -> (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) y (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjectiveₓ'. -/
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
@@ -2749,7 +2749,7 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u1} R (fun (x : R) => And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) y))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjectiveₓ'. -/
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
@@ -2760,7 +2760,7 @@ theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjectiveₓ'. -/
 theorem le_map_of_comap_le_of_surjective : comap f K ≤ I → K ≤ map f I := fun h =>
   map_comap_of_surjective f hf K ▸ map_mono h
@@ -2791,7 +2791,7 @@ include hf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
 Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injectiveₓ'. -/
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
@@ -2804,7 +2804,7 @@ theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_of_injective Ideal.comap_bot_of_injectiveₓ'. -/
 theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
   le_bot_iff.mp (Ideal.comap_bot_le_of_injective f hf)
@@ -2830,7 +2830,7 @@ include hf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) I (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2)))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_map_of_surjective Ideal.comap_map_of_surjectiveₓ'. -/
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
@@ -2846,7 +2846,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
@@ -2867,7 +2867,7 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
 Case conversion may be inaccurate. Consider using '#align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjectiveₓ'. -/
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
 def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
@@ -2878,7 +2878,7 @@ def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Or (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjectiveₓ'. -/
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
@@ -2895,7 +2895,7 @@ theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)} [H : Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) K], Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjectiveₓ'. -/
 theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaximal (comap f K) :=
   by
@@ -2917,7 +2917,7 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjectiveₓ'. -/
 theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f J ↔ I ≤ J :=
   ⟨fun h => (map_comap_of_surjective f hf I).symm.le.trans (map_le_of_le_comap h), fun h =>
@@ -2974,7 +2974,7 @@ include hf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
 Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_bijective Ideal.relIsoOfBijectiveₓ'. -/
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
@@ -2992,7 +2992,7 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_mapₓ'. -/
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
@@ -3003,7 +3003,7 @@ theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.map.is_maximal Ideal.map.isMaximalₓ'. -/
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
@@ -3391,7 +3391,7 @@ def ker : Ideal R :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) r (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f r) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) _inst_2)))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) r) _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.mem_ker RingHom.mem_kerₓ'. -/
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
@@ -3401,7 +3401,7 @@ theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Su
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq RingHom.ker_eqₓ'. -/
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
@@ -3468,7 +3468,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_botₓ'. -/
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
   by
@@ -3480,7 +3480,7 @@ theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (forall (x : R), (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))) -> (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zeroₓ'. -/
 theorem ker_eq_bot_iff_eq_zero : ker f = ⊥ ↔ ∀ x, f x = 0 → x = 0 := by
   rw [← injective_iff_map_eq_zero f, injective_iff_ker_eq_bot]
@@ -3522,7 +3522,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
 Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
@@ -3548,7 +3548,7 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
 lean 3 declaration is
   forall {R : Type.{u1}} {K : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> K) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => K) (MulHomClass.toFunLike.{u3, u1, u2} F R K (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} K (NonUnitalNonAssocSemiring.toDistrib.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2)))) _inst_3)))) f)) -> (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R K F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))) _inst_3 f))
 but is expected to have type
-  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
+  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_maximal_of_surjective RingHom.ker_isMaximal_of_surjectiveₓ'. -/
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
 theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
@@ -3609,7 +3609,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_sInfₓ'. -/
 theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) :=
@@ -3637,7 +3637,7 @@ theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjectiveₓ'. -/
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) :=
@@ -3662,7 +3662,7 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {f : F}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injectiveₓ'. -/
 theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injective f) :
     I.map f = ⊥ ↔ I = ⊥ := by
@@ -3692,7 +3692,7 @@ variable [CommRing R] [CommRing S]
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (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)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f J)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) J (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) 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_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
@@ -3704,7 +3704,7 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) 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_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
@@ -3757,7 +3757,7 @@ variable (f : A →+* B) (f_inv : B → A)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAuxₓ'. -/
 /-- Auxiliary definition used to define `lift_of_right_inverse` -/
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (hg : f.ker ≤ g.ker) :
@@ -3783,7 +3783,7 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
@@ -3795,7 +3795,7 @@ theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverseₓ'. -/
 /-- `lift_of_right_inverse f hf g hg` is the unique ring homomorphism `φ`
 
@@ -3832,7 +3832,7 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_surjective RingHom.liftOfSurjectiveₓ'. -/
 /-- A non-computable version of `ring_hom.lift_of_right_inverse` for when no computable right
 inverse is available, that uses `function.surj_inv`. -/
@@ -3846,7 +3846,7 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
@@ -3858,7 +3858,7 @@ theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
@@ -3869,7 +3869,7 @@ theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
 Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
Diff
@@ -76,7 +76,7 @@ theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator' Submodule.mem_annihilator'ₓ'. -/
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
   mem_annihilator.trans ⟨fun H n hn => (mem_bot R).2 <| H n hn, fun H n hn => (mem_bot R).1 <| H hn⟩
@@ -276,7 +276,7 @@ theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 Case conversion may be inaccurate. Consider using '#align submodule.map_le_smul_top Submodule.map_le_smul_topₓ'. -/
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
     Submodule.map f I ≤ I • (⊤ : Submodule R M) :=
@@ -474,12 +474,7 @@ theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs
 
 variable {M' : Type w} [AddCommMonoid M'] [Module R M']
 
-/- warning: submodule.map_smul'' -> Submodule.map_smul'' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
-Case conversion may be inaccurate. Consider using '#align submodule.map_smul'' Submodule.map_smul''ₓ'. -/
+#print Submodule.map_smul'' /-
 theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
   le_antisymm
       (map_le_iff_le_comap.2 <|
@@ -490,6 +485,7 @@ theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
       let ⟨p, hp, hfp⟩ := mem_map.1 hn
       hfp ▸ f.map_smul r p ▸ mem_map_of_mem (smul_mem_smul hr hp)
 #align submodule.map_smul'' Submodule.map_smul''
+-/
 
 variable {I}
 
@@ -569,7 +565,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I S))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I S))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I S))
 Case conversion may be inaccurate. Consider using '#align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smulₓ'. -/
 @[simp]
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
@@ -608,7 +604,7 @@ theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
@@ -2776,7 +2772,7 @@ omit hf
 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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.semilinearMapClass.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
 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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
+  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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.semilinearMapClass.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_submodule_map Ideal.map_eq_submodule_mapₓ'. -/
 theorem map_eq_submodule_map (f : R →+* S) [h : RingHomSurjective f] (I : Ideal R) :
     I.map f = Submodule.map f.toSemilinearMap I :=
@@ -3235,7 +3231,7 @@ variable {ι M v}
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3248,7 +3244,7 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3261,7 +3257,7 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSMul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
 but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSMul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSMul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
 Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
Diff
@@ -661,7 +661,7 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r x) I)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r x) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_colon_singleton Ideal.mem_colon_singletonₓ'. -/
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
@@ -1018,7 +1018,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8038 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8040 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8038 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8040) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8037 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8039 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8037 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8039) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
@@ -2934,7 +2934,7 @@ end Surjective
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I)) I
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) I)) I
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) I)) I
 Case conversion may be inaccurate. Consider using '#align ideal.map_of_equiv Ideal.map_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f (map f.symm) = I`. -/
 @[simp]
@@ -2947,7 +2947,7 @@ theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) I)) I
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f)) I)) I
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f)) I)) I
 Case conversion may be inaccurate. Consider using '#align ideal.comap_of_equiv Ideal.comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
@@ -2960,7 +2960,7 @@ theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u2 u1} S R (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f) I)
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u1 u2} S R (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f) I)
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u1 u2} S R (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) f) I)
 Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_equiv Ideal.map_comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f I = comap f.symm I`. -/
 theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
@@ -3026,7 +3026,7 @@ end Bijective
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)))))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align ideal.ring_equiv.bot_maximal_iff Ideal.RingEquiv.bot_maximal_iffₓ'. -/
 theorem RingEquiv.bot_maximal_iff (e : R ≃+* S) :
     (⊥ : Ideal R).IsMaximal ↔ (⊥ : Ideal S).IsMaximal :=
@@ -3289,7 +3289,7 @@ variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -3307,7 +3307,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) b i))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) b i))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3321,7 +3321,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3350,7 +3350,7 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S (CommRing.toRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3496,7 +3496,7 @@ omit rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_coe_equiv RingHom.ker_coe_equivₓ'. -/
 @[simp]
 theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
@@ -3507,7 +3507,7 @@ theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 : F'), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) _inst_3) f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] {F' : Type.{u1}} [_inst_3 : RingEquivClass.{u1, u2, u3} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Distrib.toAdd.{u3} S (NonUnitalNonAssocSemiring.toDistrib.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))))] (f : F'), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F' (Ring.toSemiring.{u2} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u1, u2, u3} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) _inst_3) f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] {F' : Type.{u1}} [_inst_3 : RingEquivClass.{u1, u2, u3} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Distrib.toAdd.{u3} S (NonUnitalNonAssocSemiring.toDistrib.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))))] (f : F'), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F' (Ring.toSemiring.{u2} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u1, u2, u3} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) _inst_3) f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_equiv RingHom.ker_equivₓ'. -/
 @[simp]
 theorem ker_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
@@ -3679,7 +3679,7 @@ omit rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))] (f : F') {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3) f I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u1} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u2, u1} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonUnitalRing.{u1} S _inst_2))) (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonUnitalRing.{u1} S _inst_2)))))] (f : F') {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) I], Ideal.IsPrime.{u1} S (Ring.toSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, u3} R S F' (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u2, u1} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_2)) _inst_3) f I)
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u1} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u2, u1} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R _inst_1))))) (NonUnitalNonAssocRing.toMul.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S _inst_2))) (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonAssocRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonAssocRing.{u1} S _inst_2)))))] (f : F') {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) I], Ideal.IsPrime.{u1} S (Ring.toSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, u3} R S F' (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u2, u1} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_2)) _inst_3) f I)
 Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equivₓ'. -/
 theorem map_isPrime_of_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') {I : Ideal R}
     [IsPrime I] : IsPrime (map f I) :=
Diff
@@ -74,7 +74,7 @@ theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0
 
 /- warning: submodule.mem_annihilator' -> Submodule.mem_annihilator' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 but is expected to have type
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator' Submodule.mem_annihilator'ₓ'. -/
@@ -139,11 +139,15 @@ theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
     fun H => H.symm ▸ annihilator_bot⟩
 #align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iff
 
-#print Submodule.annihilator_mono /-
+/- warning: submodule.annihilator_mono -> Submodule.annihilator_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (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))))))) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 P) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (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))))))) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 P) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_mono Submodule.annihilator_monoₓ'. -/
 theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun r hrp =>
   mem_annihilator.2 fun n hn => mem_annihilator.1 hrp n <| h hn
 #align submodule.annihilator_mono Submodule.annihilator_mono
--/
 
 /- warning: submodule.annihilator_supr -> Submodule.annihilator_iSup is a dubious translation:
 lean 3 declaration is
@@ -166,11 +170,15 @@ theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I •
 #align submodule.smul_mem_smul Submodule.smul_mem_smul
 -/
 
-#print Submodule.smul_le /-
+/- warning: submodule.smul_le -> Submodule.smul_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) P)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) P)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_le Submodule.smul_leₓ'. -/
 theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N, r • n ∈ P :=
   map₂_le
 #align submodule.smul_le Submodule.smul_le
--/
 
 /- warning: submodule.smul_induction_on -> Submodule.smul_induction_on is a dubious translation:
 lean 3 declaration is
@@ -224,33 +232,49 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
 #align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singleton
 
-#print Submodule.smul_le_right /-
+/- warning: submodule.smul_le_right -> Submodule.smul_le_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) N
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) N
+Case conversion may be inaccurate. Consider using '#align submodule.smul_le_right Submodule.smul_le_rightₓ'. -/
 theorem smul_le_right : I • N ≤ N :=
   smul_le.2 fun r hr n => N.smul_mem r
 #align submodule.smul_le_right Submodule.smul_le_right
--/
 
-#print Submodule.smul_mono /-
+/- warning: submodule.smul_mono -> Submodule.smul_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J P))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J P))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_mono Submodule.smul_monoₓ'. -/
 theorem smul_mono (hij : I ≤ J) (hnp : N ≤ P) : I • N ≤ J • P :=
   map₂_le_map₂ hij hnp
 #align submodule.smul_mono Submodule.smul_mono
--/
 
-#print Submodule.smul_mono_left /-
+/- warning: submodule.smul_mono_left -> Submodule.smul_mono_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (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))))))) I J) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_mono_left Submodule.smul_mono_leftₓ'. -/
 theorem smul_mono_left (h : I ≤ J) : I • N ≤ J • N :=
   map₂_le_map₂_left h
 #align submodule.smul_mono_left Submodule.smul_mono_left
--/
 
-#print Submodule.smul_mono_right /-
+/- warning: submodule.smul_mono_right -> Submodule.smul_mono_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I P))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N P) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I P))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_mono_right Submodule.smul_mono_rightₓ'. -/
 theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
   map₂_le_map₂_right h
 #align submodule.smul_mono_right Submodule.smul_mono_right
--/
 
 /- warning: submodule.map_le_smul_top -> Submodule.map_le_smul_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 but is expected to have type
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 Case conversion may be inaccurate. Consider using '#align submodule.map_le_smul_top Submodule.map_le_smul_topₓ'. -/
@@ -356,11 +380,15 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
 #align submodule.smul_assoc Submodule.smul_assoc
 -/
 
-#print Submodule.smul_inf_le /-
+/- warning: submodule.smul_inf_le -> Submodule.smul_inf_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (M₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (M₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M₁ M₂)) (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I M₁) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I M₂))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (M₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (M₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M₁ M₂)) (Inf.inf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I M₁) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I M₂))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_inf_le Submodule.smul_inf_leₓ'. -/
 theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ :=
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
--/
 
 /- warning: submodule.smul_supr -> Submodule.smul_iSup is a dubious translation:
 lean 3 declaration is
@@ -374,7 +402,7 @@ theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I •
 
 /- warning: submodule.smul_infi_le -> Submodule.smul_iInf_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
 but is expected to have type
   forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
 Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_iInf_leₓ'. -/
@@ -537,7 +565,12 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
-#print Submodule.smul_comap_le_comap_smul /-
+/- warning: submodule.smul_comap_le_comap_smul -> Submodule.smul_comap_le_comap_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I S))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (S : Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f S)) (Submodule.comap.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I S))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smulₓ'. -/
 @[simp]
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
     I • S.comap f ≤ (I • S).comap f :=
@@ -547,7 +580,6 @@ theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I :
   rw [f.map_smul]
   exact Submodule.smul_mem_smul hr hx
 #align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smul
--/
 
 end CommSemiring
 
@@ -572,17 +604,25 @@ theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
 #align submodule.mem_colon Submodule.mem_colon
 -/
 
-#print Submodule.mem_colon' /-
+/- warning: submodule.mem_colon' -> Submodule.mem_colon' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
--/
 
-#print Submodule.colon_mono /-
+/- warning: submodule.colon_mono -> Submodule.colon_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N₁ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {N₂ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₁ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₂ : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) N₁ N₂) -> (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toHasLe.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P₁ P₂) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₁ P₂) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₂ P₁))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {N₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₁ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P₂ : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3}, (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) N₁ N₂) -> (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P₁ P₂) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₁ P₂) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N₂ P₁))
+Case conversion may be inaccurate. Consider using '#align submodule.colon_mono Submodule.colon_monoₓ'. -/
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun r hrnp =>
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
--/
 
 /- warning: submodule.infi_colon_supr -> Submodule.iInf_colon_iSup is a dubious translation:
 lean 3 declaration is
@@ -741,7 +781,7 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
 
 /- warning: ideal.mul_le -> Ideal.mul_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) K)))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) K)))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) K)))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_le Ideal.mul_leₓ'. -/
@@ -749,17 +789,25 @@ theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
 #align ideal.mul_le Ideal.mul_le
 
-#print Ideal.mul_le_left /-
+/- warning: ideal.mul_le_left -> Ideal.mul_le_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) J
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) J
+Case conversion may be inaccurate. Consider using '#align ideal.mul_le_left Ideal.mul_le_leftₓ'. -/
 theorem mul_le_left : I * J ≤ J :=
   Ideal.mul_le.2 fun r hr s => J.mul_mem_left _
 #align ideal.mul_le_left Ideal.mul_le_left
--/
 
-#print Ideal.mul_le_right /-
+/- warning: ideal.mul_le_right -> Ideal.mul_le_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) I
+Case conversion may be inaccurate. Consider using '#align ideal.mul_le_right Ideal.mul_le_rightₓ'. -/
 theorem mul_le_right : I * J ≤ I :=
   Ideal.mul_le.2 fun r hr s hs => I.mul_mem_right _ hr
 #align ideal.mul_le_right Ideal.mul_le_right
--/
 
 /- warning: ideal.sup_mul_right_self -> Ideal.sup_mul_right_self is a dubious translation:
 lean 3 declaration is
@@ -883,7 +931,7 @@ theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔
 
 /- warning: ideal.le_span_singleton_mul_iff -> Ideal.le_span_singleton_mul_iff is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI))))
 Case conversion may be inaccurate. Consider using '#align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iffₓ'. -/
@@ -895,7 +943,7 @@ theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
 
 /- warning: ideal.span_singleton_mul_le_iff -> Ideal.span_singleton_mul_le_iff is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) J))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) J))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iffₓ'. -/
@@ -912,7 +960,7 @@ theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J 
 
 /- warning: ideal.span_singleton_mul_le_span_singleton_mul -> Ideal.span_singleton_mul_le_span_singleton_mul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ)))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ)))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ)))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mulₓ'. -/
@@ -923,7 +971,7 @@ theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
 
 /- warning: ideal.span_singleton_mul_right_mono -> Ideal.span_singleton_mul_right_mono is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (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))))))) I J))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (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))))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_monoₓ'. -/
@@ -935,7 +983,7 @@ theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
 
 /- warning: ideal.span_singleton_mul_left_mono -> Ideal.span_singleton_mul_left_mono is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (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))))))) I J))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (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))))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_monoₓ'. -/
@@ -1095,15 +1143,19 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
 
-#print Ideal.mul_le_inf /-
+/- warning: ideal.mul_le_inf -> Ideal.mul_le_inf is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J)
+Case conversion may be inaccurate. Consider using '#align ideal.mul_le_inf Ideal.mul_le_infₓ'. -/
 theorem mul_le_inf : I * J ≤ I ⊓ J :=
   mul_le.2 fun r hri s hsj => ⟨I.mul_mem_right s hri, J.mul_mem_left r hsj⟩
 #align ideal.mul_le_inf Ideal.mul_le_inf
--/
 
 /- warning: ideal.multiset_prod_le_inf -> Ideal.multiset_prod_le_inf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s)
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s)
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{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))) s)
 Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_infₓ'. -/
@@ -1119,7 +1171,7 @@ theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
 
 /- warning: ideal.prod_le_inf -> Ideal.prod_le_inf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{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)) (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s f) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f)
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s f) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f)
 but is expected to have type
   forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s f) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f)
 Case conversion may be inaccurate. Consider using '#align ideal.prod_le_inf Ideal.prod_le_infₓ'. -/
@@ -1313,23 +1365,35 @@ theorem top_mul : ⊤ * I = I :=
 
 variable {I}
 
-#print Ideal.mul_mono /-
+/- warning: ideal.mul_mono -> Ideal.mul_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {L : Ideal.{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))))))) I K) -> (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 L) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) K L))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {L : Ideal.{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))))))) I K) -> (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 L) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) K L))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_mono Ideal.mul_monoₓ'. -/
 theorem mul_mono (hik : I ≤ K) (hjl : J ≤ L) : I * J ≤ K * L :=
   Submodule.smul_mono hik hjl
 #align ideal.mul_mono Ideal.mul_mono
--/
 
-#print Ideal.mul_mono_left /-
+/- warning: ideal.mul_mono_left -> Ideal.mul_mono_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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))))))) I J) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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))))))) I J) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_mono_left Ideal.mul_mono_leftₓ'. -/
 theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K :=
   Submodule.smul_mono_left h
 #align ideal.mul_mono_left Ideal.mul_mono_left
--/
 
-#print Ideal.mul_mono_right /-
+/- warning: ideal.mul_mono_right -> Ideal.mul_mono_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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 K) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{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 K) -> (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_mono_right Ideal.mul_mono_rightₓ'. -/
 theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K :=
   Submodule.smul_mono_right h
 #align ideal.mul_mono_right Ideal.mul_mono_right
--/
 
 variable (I J K)
 
@@ -1351,25 +1415,38 @@ theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
 
 variable {I J K}
 
-#print Ideal.pow_le_pow /-
+/- warning: ideal.pow_le_pow -> Ideal.pow_le_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (LE.le.{0} Nat Nat.hasLe m n) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (LE.le.{0} Nat instLENat m n) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m))
+Case conversion may be inaccurate. Consider using '#align ideal.pow_le_pow Ideal.pow_le_powₓ'. -/
 theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   by
   cases' Nat.exists_eq_add_of_le h with k hk
   rw [hk, pow_add]
   exact le_trans mul_le_inf inf_le_left
 #align ideal.pow_le_pow Ideal.pow_le_pow
--/
 
-#print Ideal.pow_le_self /-
+/- warning: ideal.pow_le_self -> Ideal.pow_le_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Ne.{1} Nat n (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))) -> (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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) I)
+Case conversion may be inaccurate. Consider using '#align ideal.pow_le_self Ideal.pow_le_selfₓ'. -/
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
     
 #align ideal.pow_le_self Ideal.pow_le_self
--/
 
-#print Ideal.pow_mono /-
+/- warning: ideal.pow_mono -> Ideal.pow_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (forall (n : Nat), 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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (forall (n : Nat), 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))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n))
+Case conversion may be inaccurate. Consider using '#align ideal.pow_mono Ideal.pow_monoₓ'. -/
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
@@ -1378,7 +1455,6 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   · rw [pow_succ, pow_succ]
     exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
--/
 
 /- warning: ideal.mul_eq_bot -> Ideal.mul_eq_bot is a dubious translation:
 lean 3 declaration is
@@ -1456,10 +1532,14 @@ def IsRadical (I : Ideal R) : Prop :=
 #align ideal.is_radical Ideal.IsRadical
 -/
 
-#print Ideal.le_radical /-
+/- warning: ideal.le_radical -> Ideal.le_radical is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, 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))))))) I (Ideal.radical.{u1} R _inst_1 I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, 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))))))) I (Ideal.radical.{u1} R _inst_1 I)
+Case conversion may be inaccurate. Consider using '#align ideal.le_radical Ideal.le_radicalₓ'. -/
 theorem le_radical : I ≤ radical I := fun r hri => ⟨1, (pow_one r).symm ▸ hri⟩
 #align ideal.le_radical Ideal.le_radical
--/
 
 #print Ideal.radical_eq_iff /-
 /-- An ideal is radical iff it is equal to its radical. -/
@@ -1485,10 +1565,14 @@ theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
 
 variable {R}
 
-#print Ideal.radical_mono /-
+/- warning: ideal.radical_mono -> Ideal.radical_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{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))))))) I J) -> (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_mono Ideal.radical_monoₓ'. -/
 theorem radical_mono (H : I ≤ J) : radical I ≤ radical J := fun r ⟨n, hrni⟩ => ⟨n, H hrni⟩
 #align ideal.radical_mono Ideal.radical_mono
--/
 
 variable (I)
 
@@ -1507,17 +1591,25 @@ theorem radical_idem : radical (radical I) = radical I :=
 
 variable {I}
 
-#print Ideal.IsRadical.radical_le_iff /-
+/- warning: ideal.is_radical.radical_le_iff -> Ideal.IsRadical.radical_le_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsRadical.{u1} R _inst_1 J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsRadical.{u1} R _inst_1 J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iffₓ'. -/
 theorem IsRadical.radical_le_iff (hJ : J.IsRadical) : radical I ≤ J ↔ I ≤ J :=
   ⟨le_trans le_radical, fun h => hJ.radical ▸ radical_mono h⟩
 #align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iff
--/
 
-#print Ideal.radical_le_radical_iff /-
+/- warning: ideal.radical_le_radical_iff -> Ideal.radical_le_radical_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)) (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))))))) I (Ideal.radical.{u1} R _inst_1 J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)) (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))))))) I (Ideal.radical.{u1} R _inst_1 J))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_le_radical_iff Ideal.radical_le_radical_iffₓ'. -/
 theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J :=
   (radical_isRadical J).radical_le_iff
 #align ideal.radical_le_radical_iff Ideal.radical_le_radical_iff
--/
 
 /- warning: ideal.radical_eq_top -> Ideal.radical_eq_top is a dubious translation:
 lean 3 declaration is
@@ -1576,15 +1668,19 @@ theorem radical_mul : radical (I * J) = radical I ⊓ radical J :=
 
 variable {I J}
 
-#print Ideal.IsPrime.radical_le_iff /-
+/- warning: ideal.is_prime.radical_le_iff -> Ideal.IsPrime.radical_le_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J) -> (Iff (LE.le.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (Ideal.radical.{u1} R _inst_1 I) J) (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))))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iffₓ'. -/
 theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
   hJ.IsRadical.radical_le_iff
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
--/
 
 /- warning: ideal.radical_eq_Inf -> Ideal.radical_eq_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
 Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_Inf Ideal.radical_eq_sInfₓ'. -/
@@ -1686,7 +1782,12 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
 #align ideal.radical_pow Ideal.radical_pow
 -/
 
-#print Ideal.IsPrime.mul_le /-
+/- warning: ideal.is_prime.mul_le -> Ideal.IsPrime.mul_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) P) (Or (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))))))) I P) (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 P)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) P) (Or (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))))))) I P) (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 P)))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mul_le Ideal.IsPrime.mul_leₓ'. -/
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h =>
     or_iff_not_imp_left.2 fun hip j hj =>
@@ -1696,18 +1797,21 @@ theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I 
     Or.cases_on h (le_trans <| le_trans mul_le_inf inf_le_left)
       (le_trans <| le_trans mul_le_inf inf_le_right)⟩
 #align ideal.is_prime.mul_le Ideal.IsPrime.mul_le
--/
 
-#print Ideal.IsPrime.inf_le /-
+/- warning: ideal.is_prime.inf_le -> Ideal.IsPrime.inf_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J) P) (Or (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))))))) I P) (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 P)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Iff (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))))))) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J) P) (Or (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))))))) I P) (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 P)))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le Ideal.IsPrime.inf_leₓ'. -/
 theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h => hp.mul_le.1 <| le_trans mul_le_inf h, fun h =>
     Or.cases_on h (le_trans inf_le_left) (le_trans inf_le_right)⟩
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
--/
 
 /- warning: ideal.is_prime.multiset_prod_le -> Ideal.IsPrime.multiset_prod_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (OfNat.mk.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.zero.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) -> (Iff (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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) => 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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I P))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (OfNat.mk.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.zero.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) => 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))))))) I P))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instZeroMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (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))))))) I P))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_leₓ'. -/
@@ -1735,7 +1839,7 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
 
 /- warning: ideal.is_prime.multiset_prod_map_le -> Ideal.IsPrime.multiset_prod_map_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u2} ι} (f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u2} (Multiset.{u2} ι) s (OfNat.ofNat.{u2} (Multiset.{u2} ι) 0 (OfNat.mk.{u2} (Multiset.{u2} ι) 0 (Zero.zero.{u2} (Multiset.{u2} ι) (Multiset.hasZero.{u2} ι))))) -> (Iff (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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) (Multiset.map.{u2, u1} ι (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) f s)) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u2} ι} (f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u2} (Multiset.{u2} ι) s (OfNat.ofNat.{u2} (Multiset.{u2} ι) 0 (OfNat.mk.{u2} (Multiset.{u2} ι) 0 (Zero.zero.{u2} (Multiset.{u2} ι) (Multiset.hasZero.{u2} ι))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) (Multiset.map.{u2, u1} ι (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) f s)) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
 but is expected to have type
   forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Multiset.{u1} ι} (f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} ι) s (OfNat.ofNat.{u1} (Multiset.{u1} ι) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} ι) (Multiset.instZeroMultiset.{u1} ι)))) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Multiset.prod.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) (Multiset.map.{u1, u2} ι (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) f s)) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Multiset.{u1} ι) (Multiset.instMembershipMultiset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_leₓ'. -/
@@ -1748,7 +1852,7 @@ theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P :
 
 /- warning: ideal.is_prime.prod_le -> Ideal.IsPrime.prod_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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)) (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
 but is expected to have type
   forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.prod_le Ideal.IsPrime.prod_leₓ'. -/
@@ -1759,7 +1863,7 @@ theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
 
 /- warning: ideal.is_prime.inf_le' -> Ideal.IsPrime.inf_le' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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)) (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))))))) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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))))))) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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))))))) (f i) P))))
 but is expected to have type
   forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'ₓ'. -/
@@ -1771,7 +1875,7 @@ theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
 
 /- warning: ideal.subset_union -> Ideal.subset_union is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) J) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
+  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) J) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.instHasSubsetSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I) (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) J) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union Ideal.subset_unionₓ'. -/
@@ -1791,7 +1895,7 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 
 /- warning: ideal.subset_union_prime' -> Ideal.subset_union_prime' is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
 but is expected to have type
   forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f b))) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
@@ -1915,7 +2019,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
 
 /- warning: ideal.subset_union_prime -> Ideal.subset_union_prime is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
 but is expected to have type
   forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
@@ -1980,7 +2084,7 @@ section Dvd
 
 /- warning: ideal.le_of_dvd -> Ideal.le_of_dvd is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.Dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))))))) I J) -> (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)) (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 I)
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.Dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))))))) I J) -> (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 I)
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))))))) I J) -> (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 I)
 Case conversion may be inaccurate. Consider using '#align ideal.le_of_dvd Ideal.le_of_dvdₓ'. -/
@@ -2058,7 +2162,7 @@ variable {f}
 
 /- warning: ideal.map_mono -> Ideal.map_mono is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I J) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_mono Ideal.map_monoₓ'. -/
@@ -2088,7 +2192,7 @@ theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
 
 /- warning: ideal.map_le_iff_le_comap -> Ideal.map_le_iff_le_comap is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, Iff (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, Iff (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, Iff (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comapₓ'. -/
@@ -2109,7 +2213,7 @@ theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
 
 /- warning: ideal.comap_mono -> Ideal.comap_mono is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_mono Ideal.comap_monoₓ'. -/
@@ -2135,7 +2239,7 @@ include rcg
 
 /- warning: ideal.map_le_comap_of_inv_on -> Ideal.map_le_comap_of_inv_on is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.setLike.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
@@ -2149,7 +2253,7 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
 
 /- warning: ideal.comap_le_map_of_inv_on -> Ideal.comap_le_map_of_inv_on is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.setLike.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
@@ -2159,7 +2263,7 @@ theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f
 
 /- warning: ideal.map_le_comap_of_inverse -> Ideal.map_le_comap_of_inverse is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverseₓ'. -/
@@ -2171,7 +2275,7 @@ theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse
 
 /- warning: ideal.comap_le_map_of_inverse -> Ideal.comap_le_map_of_inverse is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverseₓ'. -/
@@ -2278,7 +2382,7 @@ variable {f I J K L}
 
 /- warning: ideal.map_le_of_le_comap -> Ideal.map_le_of_le_comap is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K)
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K)
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K)
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_of_le_comap Ideal.map_le_of_le_comapₓ'. -/
@@ -2288,7 +2392,7 @@ theorem map_le_of_le_comap : I ≤ K.comap f → I.map f ≤ K :=
 
 /- warning: ideal.le_comap_of_map_le -> Ideal.le_comap_of_map_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_of_map_le Ideal.le_comap_of_map_leₓ'. -/
@@ -2298,7 +2402,7 @@ theorem le_comap_of_map_le : I.map f ≤ K → I ≤ K.comap f :=
 
 /- warning: ideal.le_comap_map -> Ideal.le_comap_map is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_map Ideal.le_comap_mapₓ'. -/
@@ -2308,7 +2412,7 @@ theorem le_comap_map : I ≤ (I.map f).comap f :=
 
 /- warning: ideal.map_comap_le -> Ideal.map_comap_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) K
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) K
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) K
 Case conversion may be inaccurate. Consider using '#align ideal.map_comap_le Ideal.map_comap_leₓ'. -/
@@ -2460,7 +2564,7 @@ variable {I J K L}
 
 /- warning: ideal.map_inf_le -> Ideal.map_inf_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) I J)) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) I J)) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I J)) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_inf_le Ideal.map_inf_leₓ'. -/
@@ -2470,7 +2574,7 @@ theorem map_inf_le : map f (I ⊓ J) ≤ map f I ⊓ map f J :=
 
 /- warning: ideal.le_comap_sup -> Ideal.le_comap_sup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_sup Ideal.le_comap_supₓ'. -/
@@ -2658,7 +2762,7 @@ theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x
 
 /- warning: ideal.le_map_of_comap_le_of_surjective -> Ideal.le_map_of_comap_le_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toHasLe.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjectiveₓ'. -/
@@ -2689,7 +2793,7 @@ include hf
 
 /- warning: ideal.comap_bot_le_of_injective -> Ideal.comap_bot_le_of_injective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
 Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injectiveₓ'. -/
@@ -2744,7 +2848,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
 
 /- warning: ideal.rel_iso_of_surjective -> Ideal.relIsoOfSurjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 but is expected to have type
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
@@ -2763,12 +2867,16 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
       comap_mono⟩
 #align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjective
 
-#print Ideal.orderEmbeddingOfSurjective /-
+/- warning: ideal.order_embedding_of_surjective -> Ideal.orderEmbeddingOfSurjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderEmbedding.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjectiveₓ'. -/
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
 def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
   (relIsoOfSurjective f hf).toRelEmbedding.trans (Subtype.relEmbedding _ _)
 #align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjective
--/
 
 /- warning: ideal.map_eq_top_or_is_maximal_of_surjective -> Ideal.map_eq_top_or_isMaximal_of_surjective is a dubious translation:
 lean 3 declaration is
@@ -2811,7 +2919,7 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
 
 /- warning: ideal.comap_le_comap_iff_of_surjective -> Ideal.comap_le_comap_iff_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjectiveₓ'. -/
@@ -2866,7 +2974,12 @@ variable (hf : Function.Bijective f)
 
 include hf
 
-#print Ideal.relIsoOfBijective /-
+/- warning: ideal.rel_iso_of_bijective -> Ideal.relIsoOfBijective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_bijective Ideal.relIsoOfBijectiveₓ'. -/
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
     where
@@ -2878,11 +2991,10 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
       ((relIsoOfSurjective f hf.right).right_inv ⟨J, comap_bot_le_of_injective f hf.left⟩)
   map_rel_iff' _ _ := (relIsoOfSurjective f hf.right).map_rel_iff'
 #align ideal.rel_iso_of_bijective Ideal.relIsoOfBijective
--/
 
 /- warning: ideal.comap_le_iff_le_map -> Ideal.comap_le_iff_le_map is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toHasLe.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_mapₓ'. -/
@@ -3009,7 +3121,7 @@ variable {I J L}
 
 /- warning: ideal.map_radical_le -> Ideal.map_radical_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f I))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Preorder.toHasLe.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f I))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, LE.le.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Preorder.toLE.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.completeLattice.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_le Ideal.map_radical_leₓ'. -/
@@ -3019,7 +3131,7 @@ theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
 
 /- warning: ideal.le_comap_mul -> Ideal.le_comap_mul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} {L : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f L)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) K L))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} {L : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f L)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) K L))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} {L : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f L)) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) K L))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_mul Ideal.le_comap_mulₓ'. -/
@@ -3031,7 +3143,7 @@ theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
 
 /- warning: ideal.le_comap_pow -> Ideal.le_comap_pow is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} (n : Nat), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) n) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) K n))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} (n : Nat), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) n) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) K n))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} (n : Nat), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) n) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) K n))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_pow Ideal.le_comap_powₓ'. -/
@@ -3471,7 +3583,7 @@ include rc
 
 /- warning: ideal.map_eq_bot_iff_le_ker -> Ideal.map_eq_bot_iff_le_ker is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u1} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u1} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u3} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.instBotSubmodule.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) I (RingHom.ker.{u3, u2, u1} R S F _inst_1 _inst_2 rc f))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_kerₓ'. -/
@@ -3481,7 +3593,7 @@ theorem map_eq_bot_iff_le_ker {I : Ideal R} (f : F) : I.map f = ⊥ ↔ I ≤ Ri
 
 /- warning: ideal.ker_le_comap -> Ideal.ker_le_comap is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {K : Ideal.{u2} S _inst_2} (f : F), LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {K : Ideal.{u2} S _inst_2} (f : F), LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {K : Ideal.{u3} S _inst_2} (f : F), LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
 Case conversion may be inaccurate. Consider using '#align ideal.ker_le_comap Ideal.ker_le_comapₓ'. -/
@@ -3499,7 +3611,7 @@ include rc
 
 /- warning: ideal.map_Inf -> Ideal.map_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_sInfₓ'. -/
@@ -3527,7 +3639,7 @@ theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
 
 /- warning: ideal.map_is_prime_of_surjective -> Ideal.map_isPrime_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 but is expected to have type
   forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjectiveₓ'. -/
@@ -3594,7 +3706,7 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 
 /- warning: ideal.map_radical_of_surjective -> Ideal.map_radical_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) 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_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
@@ -3647,7 +3759,7 @@ variable (f : A →+* B) (f_inv : B → A)
 
 /- warning: ring_hom.lift_of_right_inverse_aux -> RingHom.liftOfRightInverseAux is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAuxₓ'. -/
@@ -3673,7 +3785,7 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
 
 /- warning: ring_hom.lift_of_right_inverse_aux_comp_apply -> RingHom.liftOfRightInverseAux_comp_apply is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
 but is expected to have type
   forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
@@ -3685,7 +3797,7 @@ theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g
 
 /- warning: ring_hom.lift_of_right_inverse -> RingHom.liftOfRightInverse is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverseₓ'. -/
@@ -3722,7 +3834,7 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
 
 /- warning: ring_hom.lift_of_surjective -> RingHom.liftOfSurjective is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_surjective RingHom.liftOfSurjectiveₓ'. -/
@@ -3736,7 +3848,7 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
 
 /- warning: ring_hom.lift_of_right_inverse_comp_apply -> RingHom.liftOfRightInverse_comp_apply is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
 but is expected to have type
   forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
@@ -3748,7 +3860,7 @@ theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
 
 /- warning: ring_hom.lift_of_right_inverse_comp -> RingHom.liftOfRightInverse_comp is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
 but is expected to have type
   forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
@@ -3759,7 +3871,7 @@ theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
 
 /- warning: ring_hom.eq_lift_of_right_inverse -> RingHom.eq_liftOfRightInverse is a dubious translation:
 lean 3 declaration is
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
 but is expected to have type
   forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
 Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
Diff
@@ -970,7 +970,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8044 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8046 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8044 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8046) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8038 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8040 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8038 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8040) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
Diff
@@ -145,20 +145,20 @@ theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun
 #align submodule.annihilator_mono Submodule.annihilator_mono
 -/
 
-/- warning: submodule.annihilator_supr -> Submodule.annihilator_supᵢ is a dubious translation:
+/- warning: submodule.annihilator_supr -> Submodule.annihilator_iSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
-Case conversion may be inaccurate. Consider using '#align submodule.annihilator_supr Submodule.annihilator_supᵢₓ'. -/
-theorem annihilator_supᵢ (ι : Sort w) (f : ι → Submodule R M) :
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_supr Submodule.annihilator_iSupₓ'. -/
+theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
-  le_antisymm (le_infᵢ fun i => annihilator_mono <| le_supᵢ _ _) fun r H =>
+  le_antisymm (le_iInf fun i => annihilator_mono <| le_iSup _ _) fun r H =>
     mem_annihilator'.2 <|
-      supᵢ_le fun i =>
-        have := (mem_infᵢ _).1 H i
+      iSup_le fun i =>
+        have := (mem_iInf _).1 H i
         mem_annihilator'.1 this
-#align submodule.annihilator_supr Submodule.annihilator_supᵢ
+#align submodule.annihilator_supr Submodule.annihilator_iSup
 
 #print Submodule.smul_mem_smul /-
 theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I • N :=
@@ -183,7 +183,7 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x :=
   by
   have H0 : p 0 := by simpa only [zero_smul] using Hb 0 I.zero_mem 0 N.zero_mem
-  refine' Submodule.supᵢ_induction _ H _ H0 H1
+  refine' Submodule.iSup_induction _ H _ H0 H1
   rintro ⟨i, hi⟩ m ⟨j, hj, rfl : i • _ = m⟩
   exact Hb _ hi _ hj
 #align submodule.smul_induction_on Submodule.smul_induction_on
@@ -362,32 +362,32 @@ theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I 
 #align submodule.smul_inf_le Submodule.smul_inf_le
 -/
 
-/- warning: submodule.smul_supr -> Submodule.smul_supᵢ is a dubious translation:
+/- warning: submodule.smul_supr -> Submodule.smul_iSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (iSup.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_supr Submodule.smul_supᵢₓ'. -/
-theorem smul_supᵢ {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • supᵢ t = ⨆ i, I • t i :=
-  map₂_supᵢ_right _ _ _
-#align submodule.smul_supr Submodule.smul_supᵢ
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (iSup.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (iSup.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_supr Submodule.smul_iSupₓ'. -/
+theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
+  map₂_iSup_right _ _ _
+#align submodule.smul_supr Submodule.smul_iSup
 
-/- warning: submodule.smul_infi_le -> Submodule.smul_infᵢ_le is a dubious translation:
+/- warning: submodule.smul_infi_le -> Submodule.smul_iInf_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_infᵢ_leₓ'. -/
-theorem smul_infᵢ_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
-    I • infᵢ t ≤ ⨅ i, I • t i :=
-  le_infᵢ fun i => smul_mono_right (infᵢ_le _ _)
-#align submodule.smul_infi_le Submodule.smul_infᵢ_le
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (iInf.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_iInf_leₓ'. -/
+theorem smul_iInf_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
+    I • iInf t ≤ ⨅ i, I • t i :=
+  le_iInf fun i => smul_mono_right (iInf_le _ _)
+#align submodule.smul_infi_le Submodule.smul_iInf_le
 
 variable (S : Set R) (T : Set M)
 
 #print Submodule.span_smul_span /-
 theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t ∈ T), {s • t}) :=
-  (map₂_span_span _ _ _ _).trans <| congr_arg _ <| Set.image2_eq_unionᵢ _ _ _
+  (map₂_span_span _ _ _ _).trans <| congr_arg _ <| Set.image2_eq_iUnion _ _ _
 #align submodule.span_smul_span Submodule.span_smul_span
 -/
 
@@ -398,7 +398,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
   have : span R (⋃ (t : M) (x : t ∈ N), {r • t}) = r • N :=
     by
     convert span_eq _
-    exact (Set.image_eq_unionᵢ _ (N : Set M)).symm
+    exact (Set.image_eq_iUnion _ (N : Set M)).symm
   conv_lhs => rw [← span_eq N, span_smul_span]
   simpa
 #align submodule.ideal_span_singleton_smul Submodule.ideal_span_singleton_smul
@@ -490,7 +490,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
   · rintro ⟨a, ha, rfl⟩
     exact Submodule.sum_mem _ fun c _ => smul_mem_smul (ha c) <| subset_span <| Set.mem_range_self _
   refine' fun hx => span_induction (mem_smul_span.mp hx) _ _ _ _
-  · simp only [Set.mem_unionᵢ, Set.mem_range, Set.mem_singleton_iff]
+  · simp only [Set.mem_iUnion, Set.mem_range, Set.mem_singleton_iff]
     rintro x ⟨y, hy, x, ⟨i, rfl⟩, rfl⟩
     refine' ⟨Finsupp.single i y, fun j => _, _⟩
     · letI := Classical.decEq ι
@@ -584,26 +584,26 @@ theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ 
 #align submodule.colon_mono Submodule.colon_mono
 -/
 
-/- warning: submodule.infi_colon_supr -> Submodule.infᵢ_colon_supᵢ is a dubious translation:
+/- warning: submodule.infi_colon_supr -> Submodule.iInf_colon_iSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iInf.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (iSup.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (iInf.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => iInf.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
-Case conversion may be inaccurate. Consider using '#align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢₓ'. -/
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (iInf.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (iSup.{u2, u4} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (iInf.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₁ (fun (i : ι₁) => iInf.{u1, u4} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
+Case conversion may be inaccurate. Consider using '#align submodule.infi_colon_supr Submodule.iInf_colon_iSupₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
-theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
+theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
     (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
-  le_antisymm (le_infᵢ fun i => le_infᵢ fun j => colon_mono (infᵢ_le _ _) (le_supᵢ _ _)) fun r H =>
+  le_antisymm (le_iInf fun i => le_iInf fun j => colon_mono (iInf_le _ _) (le_iSup _ _)) fun r H =>
     mem_colon'.2 <|
-      supᵢ_le fun j =>
+      iSup_le fun j =>
         map_le_iff_le_comap.1 <|
-          le_infᵢ fun i =>
+          le_iInf fun i =>
             map_le_iff_le_comap.2 <|
               mem_colon'.1 <|
-                have := (mem_infᵢ _).1 H i
-                have := (mem_infᵢ _).1 this j
+                have := (mem_iInf _).1 H i
+                have := (mem_iInf _).1 this j
                 this
-#align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢ
+#align submodule.infi_colon_supr Submodule.iInf_colon_iSup
 
 #print Submodule.mem_colon_singleton /-
 @[simp]
@@ -1061,19 +1061,19 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
-/- warning: ideal.infi_span_singleton -> Ideal.infᵢ_span_singleton is a dubious translation:
+/- warning: ideal.infi_span_singleton -> Ideal.iInf_span_singleton is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} [_inst_2 : Fintype.{u2} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u2} ι i j) -> (IsCoprime.{u1} R _inst_1 (I i) (I j))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} ι _inst_2) (fun (i : ι) => I i)))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} [_inst_2 : Fintype.{u2} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u2} ι i j) -> (IsCoprime.{u1} R _inst_1 (I i) (I j))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} ι _inst_2) (fun (i : ι) => I i)))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} [_inst_2 : Fintype.{u1} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u1} ι i j) -> (IsCoprime.{u2} R _inst_1 (I i) (I j))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} ι _inst_2) (fun (i : ι) => I i)))))
-Case conversion may be inaccurate. Consider using '#align ideal.infi_span_singleton Ideal.infᵢ_span_singletonₓ'. -/
-theorem infᵢ_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} [_inst_2 : Fintype.{u1} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u1} ι i j) -> (IsCoprime.{u2} R _inst_1 (I i) (I j))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} ι _inst_2) (fun (i : ι) => I i)))))
+Case conversion may be inaccurate. Consider using '#align ideal.infi_span_singleton Ideal.iInf_span_singletonₓ'. -/
+theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (hij : i ≠ j), IsCoprime (I i) (I j)) :
     (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} :=
   by
-  rw [← Finset.inf_univ_eq_infᵢ, finset_inf_span_singleton]
+  rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
-#align ideal.infi_span_singleton Ideal.infᵢ_span_singleton
+#align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
 /- warning: ideal.sup_eq_top_iff_is_coprime -> Ideal.sup_eq_top_iff_isCoprime is a dubious translation:
 lean 3 declaration is
@@ -1204,18 +1204,18 @@ theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s
     (fun J K hJ hK => (sup_mul_eq_of_coprime_left hJ).trans hK) (by rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
 
-/- warning: ideal.sup_infi_eq_top -> Ideal.sup_infᵢ_eq_top is a dubious translation:
+/- warning: ideal.sup_infi_eq_top -> Ideal.sup_iInf_eq_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => infᵢ.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i)))) (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)))))
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => iInf.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i)))) (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)))))
 but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => infᵢ.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i)))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.sup_infi_eq_top Ideal.sup_infᵢ_eq_topₓ'. -/
-theorem sup_infᵢ_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => iInf.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i)))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_topₓ'. -/
+theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ⨅ i ∈ s, J i) = ⊤ :=
   eq_top_iff.mpr <|
     le_of_eq_of_le (sup_prod_eq_top h).symm <|
-      sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_infᵢ _ _) _
-#align ideal.sup_infi_eq_top Ideal.sup_infᵢ_eq_top
+      sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_iInf _ _) _
+#align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_top
 
 /- warning: ideal.prod_sup_eq_top -> Ideal.prod_sup_eq_top is a dubious translation:
 lean 3 declaration is
@@ -1228,16 +1228,16 @@ theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s
   sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
 
-/- warning: ideal.infi_sup_eq_top -> Ideal.infᵢ_sup_eq_top is a dubious translation:
+/- warning: ideal.infi_sup_eq_top -> Ideal.iInf_sup_eq_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => infᵢ.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i))) I) (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)))))
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (iInf.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => iInf.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i))) I) (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)))))
 but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => infᵢ.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i))) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.infi_sup_eq_top Ideal.infᵢ_sup_eq_topₓ'. -/
-theorem infᵢ_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (iInf.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => iInf.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i))) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_topₓ'. -/
+theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
-  sup_comm.trans (sup_infᵢ_eq_top fun i hi => sup_comm.trans <| h i hi)
-#align ideal.infi_sup_eq_top Ideal.infᵢ_sup_eq_top
+  sup_comm.trans (sup_iInf_eq_top fun i hi => sup_comm.trans <| h i hi)
+#align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_top
 
 /- warning: ideal.sup_pow_eq_top -> Ideal.sup_pow_eq_top is a dubious translation:
 lean 3 declaration is
@@ -1582,23 +1582,23 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 -/
 
-/- warning: ideal.radical_eq_Inf -> Ideal.radical_eq_infₛ is a dubious translation:
+/- warning: ideal.radical_eq_Inf -> Ideal.radical_eq_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.infₛ.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.infₛ.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
-Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_Inf Ideal.radical_eq_infₛₓ'. -/
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.sInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_Inf Ideal.radical_eq_sInfₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
-theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } :=
-  le_antisymm (le_infₛ fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
+theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } :=
+  le_antisymm (le_sInf fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
     by_contradiction fun hri =>
       let ⟨m, (hrm : r ∉ radical m), him, hm⟩ :=
         zorn_nonempty_partialOrder₀ { K : Ideal R | r ∉ radical K }
           (fun c hc hcc y hyc =>
-            ⟨supₛ c, fun ⟨n, hrnc⟩ =>
-              let ⟨y, hyc, hrny⟩ := (Submodule.mem_supₛ_of_directed ⟨y, hyc⟩ hcc.DirectedOn).1 hrnc
+            ⟨sSup c, fun ⟨n, hrnc⟩ =>
+              let ⟨y, hyc, hrny⟩ := (Submodule.mem_sSup_of_directed ⟨y, hyc⟩ hcc.DirectedOn).1 hrnc
               hc hyc ⟨n, hrny⟩,
-              fun z => le_supₛ⟩)
+              fun z => le_sSup⟩)
           I hri
       have : ∀ (x) (_ : x ∉ m), r ∈ radical (m ⊔ span {x}) := fun x hxm =>
         by_contradiction fun hrmx =>
@@ -1623,8 +1623,8 @@ theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I 
                       m.add_mem (m.mul_mem_right _ hpm)
                         (m.add_mem (m.mul_mem_left _ hfm) (m.mul_mem_left _ hxym))⟩⟩
       hrm <|
-        this.radical.symm ▸ (infₛ_le ⟨him, this⟩ : infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
-#align ideal.radical_eq_Inf Ideal.radical_eq_infₛ
+        this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
+#align ideal.radical_eq_Inf Ideal.radical_eq_sInf
 
 /- warning: ideal.is_radical_bot_of_no_zero_divisors -> Ideal.isRadical_bot_of_noZeroDivisors is a dubious translation:
 lean 3 declaration is
@@ -1791,9 +1791,9 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 
 /- warning: ideal.subset_union_prime' -> Ideal.subset_union_prime' is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f b))) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -1816,13 +1816,13 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
               Set.Subset.trans (Set.subset_union_right _ _) (Set.subset_union_left _ _))
           fun ⟨i, his, hi⟩ => by
           refine' Set.Subset.trans hi <| Set.Subset.trans _ <| Set.subset_union_right _ _ <;>
-            exact Set.subset_bunionᵢ_of_mem (Finset.mem_coe.2 his)⟩
+            exact Set.subset_biUnion_of_mem (Finset.mem_coe.2 his)⟩
   generalize hn : s.card = n; intro h
   induction' n with n ih generalizing a b s
   · clear hp
     rw [Finset.card_eq_zero] at hn
     subst hn
-    rw [Finset.coe_empty, Set.bunionᵢ_empty, Set.union_empty, subset_union] at h
+    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
     replace hn : ∃ (i : ι)(t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
@@ -1846,7 +1846,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         by
         rw [Finset.coe_insert] at h⊢
         rw [Finset.coe_insert] at h
-        simp only [Set.bunionᵢ_insert] at h⊢
+        simp only [Set.biUnion_insert] at h⊢
         rw [← Set.union_assoc ↑(f i)] at h
         erw [Set.union_eq_self_of_subset_right hfji] at h
         exact h
@@ -1857,7 +1857,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     by_cases Ha : f a ≤ f i
     · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
         by
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_assoc,
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc,
           Set.union_right_comm ↑(f a)] at h
         erw [Set.union_eq_self_of_subset_left Ha] at h
         exact h
@@ -1870,7 +1870,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     by_cases Hb : f b ≤ f i
     · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j :=
         by
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc, Set.union_assoc ↑(f a)] at h
         erw [Set.union_eq_self_of_subset_left Hb] at h
         exact h
       specialize ih a i t hp.2 hn h'
@@ -1901,23 +1901,23 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
     exfalso
     rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-    rw [Finset.coe_insert, Set.bunionᵢ_insert] at h
+    rw [Finset.coe_insert, Set.biUnion_insert] at h
     have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
     rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
     · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
     · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
     · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-    · rw [Set.mem_unionᵢ₂] at ht
+    · rw [Set.mem_iUnion₂] at ht
       rcases ht with ⟨j, hjt, hj⟩
-      simp only [Finset.inf_eq_infᵢ, SetLike.mem_coe, Submodule.mem_infᵢ] at hr
-      exact hs (Or.inr <| Set.mem_bunionᵢ hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
+      simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
+      exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
 /- warning: ideal.subset_union_prime -> Ideal.subset_union_prime is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.iUnion.{u1, succ u2} R ι (fun (i : ι) => Set.iUnion.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Set.iUnion.{u2, succ u1} R ι (fun (i : ι) => Set.iUnion.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
@@ -1925,7 +1925,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
     ((I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i) ↔ ∃ i ∈ s, I ≤ f i :=
   suffices ((I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i) → ∃ i, i ∈ s ∧ I ≤ f i from
     ⟨fun h => bex_def.2 <| this h, fun ⟨i, his, hi⟩ =>
-      Set.Subset.trans hi <| Set.subset_bunionᵢ_of_mem <| show i ∈ (↑s : Set ι) from his⟩
+      Set.Subset.trans hi <| Set.subset_biUnion_of_mem <| show i ∈ (↑s : Set ι) from his⟩
   fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by
   classical
     by_cases has : a ∈ s
@@ -1939,14 +1939,14 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
               rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Finset.coe_insert, Set.bunionᵢ_insert, Set.bunionᵢ_insert, ←
+        rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
           Set.union_assoc, subset_union_prime' hp', bex_def] at h
         rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
       · have hp' : ∀ j ∈ t, is_prime (f j) := by
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f a : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
           subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
         rwa [Finset.exists_mem_insert]
     · by_cases hbs : b ∈ s
@@ -1956,12 +1956,12 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f b : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
           subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
         rwa [Finset.exists_mem_insert]
       cases' s.eq_empty_or_nonempty with hse hsne
       · subst hse
-        rw [Finset.coe_empty, Set.bunionᵢ_empty, Set.subset_empty_iff] at h
+        rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
         exact absurd h this
       · cases' hsne.bex with i his
@@ -1971,7 +1971,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f i : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
           subset_union_prime' hp', ← or_assoc', or_self_iff, bex_def] at h
         rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
@@ -2396,55 +2396,55 @@ theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
 
 variable {ι : Sort _}
 
-/- warning: ideal.map_supr -> Ideal.map_supᵢ is a dubious translation:
+/- warning: ideal.map_supr -> Ideal.map_iSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (supᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι K)) (supᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iSup.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι K)) (iSup.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u3} R _inst_1)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι K)) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_supr Ideal.map_supᵢₓ'. -/
-theorem map_supᵢ (K : ι → Ideal R) : (supᵢ K).map f = ⨆ i, (K i).map f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supᵢ
-#align ideal.map_supr Ideal.map_supᵢ
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u3} R _inst_1)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι K)) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_supr Ideal.map_iSupₓ'. -/
+theorem map_iSup (K : ι → Ideal R) : (iSup K).map f = ⨆ i, (K i).map f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_iSup
+#align ideal.map_supr Ideal.map_iSup
 
-/- warning: ideal.comap_infi -> Ideal.comap_infᵢ is a dubious translation:
+/- warning: ideal.comap_infi -> Ideal.comap_iInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (infᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K)) (infᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iInf.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K)) (iInf.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u3} (Ideal.{u3} R _inst_1) (Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K)) (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_infi Ideal.comap_infᵢₓ'. -/
-theorem comap_infᵢ (K : ι → Ideal S) : (infᵢ K).comap f = ⨅ i, (K i).comap f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infᵢ
-#align ideal.comap_infi Ideal.comap_infᵢ
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u3} (Ideal.{u3} R _inst_1) (Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K)) (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_infi Ideal.comap_iInfₓ'. -/
+theorem comap_iInf (K : ι → Ideal S) : (iInf K).comap f = ⨅ i, (K i).comap f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_iInf
+#align ideal.comap_infi Ideal.comap_iInf
 
-/- warning: ideal.map_Sup -> Ideal.map_supₛ is a dubious translation:
+/- warning: ideal.map_Sup -> Ideal.map_sSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) s)) (supᵢ.{u2, succ u1} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => supᵢ.{u2, 0} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (SupSet.sSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) s)) (iSup.{u2, succ u1} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => iSup.{u2, 0} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} R _inst_1)), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (SupSet.supₛ.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) s)) (supᵢ.{u3, succ u2} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => supᵢ.{u3, 0} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) => Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_Sup Ideal.map_supₛₓ'. -/
-theorem map_supₛ (s : Set (Ideal R)) : (supₛ s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supₛ
-#align ideal.map_Sup Ideal.map_supₛ
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} R _inst_1)), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (SupSet.sSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) s)) (iSup.{u3, succ u2} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => iSup.{u3, 0} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) => Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_Sup Ideal.map_sSupₓ'. -/
+theorem map_sSup (s : Set (Ideal R)) : (sSup s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sSup
+#align ideal.map_Sup Ideal.map_sSup
 
-/- warning: ideal.comap_Inf -> Ideal.comap_infₛ is a dubious translation:
+/- warning: ideal.comap_Inf -> Ideal.comap_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (infᵢ.{u1, succ u2} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u2} S _inst_2) (fun (I : Ideal.{u2} S _inst_2) => infᵢ.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) (fun (H : Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (iInf.{u1, succ u2} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u2} S _inst_2) (fun (I : Ideal.{u2} S _inst_2) => iInf.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) (fun (H : Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (infᵢ.{u2, succ u3} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u3} S _inst_2) (fun (I : Ideal.{u3} S _inst_2) => infᵢ.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) (fun (H : Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) => Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf Ideal.comap_infₛₓ'. -/
-theorem comap_infₛ (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infₛ
-#align ideal.comap_Inf Ideal.comap_infₛ
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (iInf.{u2, succ u3} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u3} S _inst_2) (fun (I : Ideal.{u3} S _inst_2) => iInf.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) (fun (H : Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) => Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf Ideal.comap_sInfₓ'. -/
+theorem comap_sInf (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_sInf
+#align ideal.comap_Inf Ideal.comap_sInf
 
-/- warning: ideal.comap_Inf' -> Ideal.comap_infₛ' is a dubious translation:
+/- warning: ideal.comap_Inf' -> Ideal.comap_sInf' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (infᵢ.{u1, succ u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => infᵢ.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) => I)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (iInf.{u1, succ u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => iInf.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) => I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (infᵢ.{u2, succ u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => infᵢ.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) => I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_infₛ'ₓ'. -/
-theorem comap_infₛ' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
-  trans (comap_infₛ f s) (by rw [infᵢ_image])
-#align ideal.comap_Inf' Ideal.comap_infₛ'
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.sInf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (iInf.{u2, succ u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => iInf.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) => I)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_sInf'ₓ'. -/
+theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '' s, I :=
+  trans (comap_sInf f s) (by rw [iInf_image])
+#align ideal.comap_Inf' Ideal.comap_sInf'
 
 /- warning: ideal.comap_is_prime -> Ideal.comap_isPrime is a dubious translation:
 lean 3 declaration is
@@ -2600,15 +2600,15 @@ theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).
   (giMapComap f hf).l_sup_u _ _
 #align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjective
 
-/- warning: ideal.map_supr_comap_of_surjective -> Ideal.map_supᵢ_comap_of_surjective is a dubious translation:
+/- warning: ideal.map_supr_comap_of_surjective -> Ideal.map_iSup_comap_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (supᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iSup.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
-Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjectiveₓ'. -/
-theorem map_supᵢ_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = supᵢ K :=
-  (giMapComap f hf).l_supᵢ_u _
-#align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjective
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iSup.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iSup.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
+Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjectiveₓ'. -/
+theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = iSup K :=
+  (giMapComap f hf).l_iSup_u _
+#align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjective
 
 /- warning: ideal.map_inf_comap_of_surjective -> Ideal.map_inf_comap_of_surjective is a dubious translation:
 lean 3 declaration is
@@ -2620,15 +2620,15 @@ theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).
   (giMapComap f hf).l_inf_u _ _
 #align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjective
 
-/- warning: ideal.map_infi_comap_of_surjective -> Ideal.map_infᵢ_comap_of_surjective is a dubious translation:
+/- warning: ideal.map_infi_comap_of_surjective -> Ideal.map_iInf_comap_of_surjective is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (infᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (iInf.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
-Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjectiveₓ'. -/
-theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = infᵢ K :=
-  (giMapComap f hf).l_infᵢ_u _
-#align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjective
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (iInf.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (iInf.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
+Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjectiveₓ'. -/
+theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = iInf K :=
+  (giMapComap f hf).l_iInf_u _
+#align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjective
 
 /- warning: ideal.mem_image_of_mem_map_of_surjective -> Ideal.mem_image_of_mem_map_of_surjective is a dubious translation:
 lean 3 declaration is
@@ -2952,8 +2952,8 @@ theorem map_mul : map f (I * J) = map f I * map f J :=
           rw [map_mul] <;> exact mul_mem_mul (mem_map_of_mem f hri) (mem_map_of_mem f hsj))
     (trans_rel_right _ (span_mul_span _ _) <|
       span_le.2 <|
-        Set.unionᵢ₂_subset fun i ⟨r, hri, hfri⟩ =>
-          Set.unionᵢ₂_subset fun j ⟨s, hsj, hfsj⟩ =>
+        Set.iUnion₂_subset fun i ⟨r, hri, hfri⟩ =>
+          Set.iUnion₂_subset fun j ⟨s, hsj, hfsj⟩ =>
             Set.singleton_subset_iff.2 <|
               hfri ▸ hfsj ▸ by rw [← map_mul] <;> exact mem_map_of_mem f (mul_mem_mul hri hsj))
 #align ideal.map_mul Ideal.map_mul
@@ -3497,33 +3497,33 @@ variable [Ring R] [Ring S] [rc : RingHomClass F R S]
 
 include rc
 
-/- warning: ideal.map_Inf -> Ideal.map_infₛ is a dubious translation:
+/- warning: ideal.map_Inf -> Ideal.map_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
-Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_infₛₓ'. -/
-theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
-    (∀ J ∈ A, RingHom.ker f ≤ J) → map f (infₛ A) = infₛ (map f '' A) :=
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.sInf.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.sInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_sInfₓ'. -/
+theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
+    (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) :=
   by
-  refine' fun h => le_antisymm (le_infₛ _) _
+  refine' fun h => le_antisymm (le_sInf _) _
   · intro j hj y hy
     cases' (mem_map_iff_of_surjective f hf).1 hy with x hx
     cases' (Set.mem_image _ _ _).mp hj with J hJ
     rw [← hJ.right, ← hx.right]
-    exact mem_map_of_mem f (infₛ_le_of_le hJ.left (le_of_eq rfl) hx.left)
+    exact mem_map_of_mem f (sInf_le_of_le hJ.left (le_of_eq rfl) hx.left)
   · intro y hy
     cases' hf y with x hx
     refine' hx ▸ mem_map_of_mem f _
     have : ∀ I ∈ A, y ∈ map f I := by simpa using hy
-    rw [Submodule.mem_infₛ]
+    rw [Submodule.mem_sInf]
     intro J hJ
     rcases(mem_map_iff_of_surjective f hf).1 (this J hJ) with ⟨x', hx', rfl⟩
     have : x - x' ∈ J := by
       apply h J hJ
       rw [RingHom.mem_ker, map_sub, hx, sub_self]
     simpa only [sub_add_cancel] using J.add_mem this hx'
-#align ideal.map_Inf Ideal.map_infₛ
+#align ideal.map_Inf Ideal.map_sInf
 
 /- warning: ideal.map_is_prime_of_surjective -> Ideal.map_isPrime_of_surjective is a dubious translation:
 lean 3 declaration is
Diff
@@ -38,10 +38,10 @@ variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
 open Pointwise
 
-#print Submodule.hasSmul' /-
-instance hasSmul' : SMul (Ideal R) (Submodule R M) :=
+#print Submodule.hasSMul' /-
+instance hasSMul' : SMul (Ideal R) (Submodule R M) :=
   ⟨Submodule.map₂ (LinearMap.lsmul R M)⟩
-#align submodule.has_smul' Submodule.hasSmul'
+#align submodule.has_smul' Submodule.hasSMul'
 -/
 
 #print Ideal.smul_eq_mul /-
@@ -174,9 +174,9 @@ theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N
 
 /- warning: submodule.smul_induction_on -> Submodule.smul_induction_on is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
 Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on Submodule.smul_induction_onₓ'. -/
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
@@ -190,9 +190,9 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
 
 /- warning: submodule.smul_induction_on' -> Submodule.smul_induction_on' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) {p : forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (y : M) (hy : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) x y hx hy))) -> (p x hx)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) {p : forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (y : M) (hy : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) x y hx hy))) -> (p x hx)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
 Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on' Submodule.smul_induction_on'ₓ'. -/
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
@@ -208,9 +208,9 @@ theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I •
 
 /- warning: submodule.mem_smul_span_singleton -> Submodule.mem_smul_span_singleton is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => Exists.{0} (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)))) y I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) y I) => Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) y m) x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => Exists.{0} (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)))) y I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) y I) => Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) y m) x)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singletonₓ'. -/
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     x ∈ I • span R ({m} : Set M) ↔ ∃ y ∈ I, y • m = x :=
@@ -250,9 +250,9 @@ theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
 
 /- warning: submodule.map_le_smul_top -> Submodule.map_le_smul_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
 Case conversion may be inaccurate. Consider using '#align submodule.map_le_smul_top Submodule.map_le_smul_topₓ'. -/
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
     Submodule.map f I ≤ I • (⊤ : Submodule R M) :=
@@ -264,9 +264,9 @@ theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
 
 /- warning: submodule.annihilator_smul -> Submodule.annihilator_smul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align submodule.annihilator_smul Submodule.annihilator_smulₓ'. -/
 @[simp]
 theorem annihilator_smul (N : Submodule R M) : annihilator N • N = ⊥ :=
@@ -305,9 +305,9 @@ theorem smul_bot : I • (⊥ : Submodule R M) = ⊥ :=
 
 /- warning: submodule.bot_smul -> Submodule.bot_smul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
 Case conversion may be inaccurate. Consider using '#align submodule.bot_smul Submodule.bot_smulₓ'. -/
 @[simp]
 theorem bot_smul : (⊥ : Ideal R) • N = ⊥ :=
@@ -316,9 +316,9 @@ theorem bot_smul : (⊥ : Ideal R) • N = ⊥ :=
 
 /- warning: submodule.top_smul -> Submodule.top_smul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) N
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) N
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) N
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) N
 Case conversion may be inaccurate. Consider using '#align submodule.top_smul Submodule.top_smulₓ'. -/
 @[simp]
 theorem top_smul : (⊤ : Ideal R) • N = N :=
@@ -333,9 +333,9 @@ theorem smul_sup : I • (N ⊔ P) = I • N ⊔ I • P :=
 
 /- warning: submodule.sup_smul -> Submodule.sup_smul is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
 Case conversion may be inaccurate. Consider using '#align submodule.sup_smul Submodule.sup_smulₓ'. -/
 theorem sup_smul : (I ⊔ J) • N = I • N ⊔ J • N :=
   map₂_sup_left _ _ _ _
@@ -364,9 +364,9 @@ theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I 
 
 /- warning: submodule.smul_supr -> Submodule.smul_supᵢ is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
 Case conversion may be inaccurate. Consider using '#align submodule.smul_supr Submodule.smul_supᵢₓ'. -/
 theorem smul_supᵢ {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • supᵢ t = ⨆ i, I • t i :=
   map₂_supᵢ_right _ _ _
@@ -374,9 +374,9 @@ theorem smul_supᵢ {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I 
 
 /- warning: submodule.smul_infi_le -> Submodule.smul_infᵢ_le is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
 Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_infᵢ_leₓ'. -/
 theorem smul_infᵢ_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
     I • infᵢ t ≤ ⨅ i, I • t i :=
@@ -448,9 +448,9 @@ variable {M' : Type w} [AddCommMonoid M'] [Module R M']
 
 /- warning: submodule.map_smul'' -> Submodule.map_smul'' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSmul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSmul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSMul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
 Case conversion may be inaccurate. Consider using '#align submodule.map_smul'' Submodule.map_smul''ₓ'. -/
 theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
   le_antisymm
@@ -476,9 +476,9 @@ variable (I)
 
 /- warning: submodule.mem_ideal_smul_span_iff_exists_sum -> Submodule.mem_ideal_smul_span_iff_exists_sum is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.range.{u2, succ u3} M ι f)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} ι R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : ι) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f i))) x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.range.{u2, succ u3} M ι f)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} ι R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : ι) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f i))) x)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sumₓ'. -/
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
@@ -511,9 +511,9 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
 
 /- warning: submodule.mem_ideal_smul_span_iff_exists_sum' -> Submodule.mem_ideal_smul_span_iff_exists_sum' is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (s : Set.{u3} ι) (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.image.{u3, u2} ι M f s)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeSubtype.{succ u3} ι (fun (x : ι) => Membership.Mem.{u3, u3} ι (Set.{u3} ι) (Set.hasMem.{u3} ι) x s))))) i)))) x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (s : Set.{u3} ι) (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.image.{u3, u2} ι M f s)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeSubtype.{succ u3} ι (fun (x : ι) => Membership.Mem.{u3, u3} ι (Set.{u3} ι) (Set.hasMem.{u3} ι) x s))))) i)))) x)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'ₓ'. -/
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
@@ -522,9 +522,9 @@ theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι 
 
 /- warning: submodule.mem_smul_top_iff -> Submodule.mem_smul_top_iff is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N), Iff (Membership.Mem.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.setLike.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) I (Top.top.{u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasTop.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N))))) x) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N), Iff (Membership.Mem.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.setLike.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSMul'.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) I (Top.top.{u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasTop.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N))))) x) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.setLike.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.setLike.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSMul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSMul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_top_iff Submodule.mem_smul_top_iffₓ'. -/
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
@@ -2436,15 +2436,15 @@ theorem comap_infₛ (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ s, (I
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infₛ
 #align ideal.comap_Inf Ideal.comap_infₛ
 
-/- warning: ideal.comap_Inf' -> Ideal.comap_Inf' is a dubious translation:
+/- warning: ideal.comap_Inf' -> Ideal.comap_infₛ' is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (infᵢ.{u1, succ u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => infᵢ.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) => I)))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (infᵢ.{u2, succ u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => infᵢ.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) => I)))
-Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_Inf'ₓ'. -/
-theorem comap_Inf' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
+Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_infₛ'ₓ'. -/
+theorem comap_infₛ' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
   trans (comap_infₛ f s) (by rw [infᵢ_image])
-#align ideal.comap_Inf' Ideal.comap_Inf'
+#align ideal.comap_Inf' Ideal.comap_infₛ'
 
 /- warning: ideal.comap_is_prime -> Ideal.comap_isPrime is a dubious translation:
 lean 3 declaration is
@@ -2482,9 +2482,9 @@ omit rc
 
 /- warning: ideal.smul_top_eq_map -> Ideal.smul_top_eq_map is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasSmul'.{u1, u2} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) I (Top.top.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasTop.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} S _inst_4) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (algebraMap.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I))
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasSMul'.{u1, u2} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) I (Top.top.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasTop.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} S _inst_4) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (algebraMap.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (HSMul.hSMul.{u2, u1, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHSMul.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.hasSmul'.{u2, u1} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5))) I (Top.top.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.instTopSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (algebraMap.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (HSMul.hSMul.{u2, u1, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHSMul.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.hasSMul'.{u2, u1} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5))) I (Top.top.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.instTopSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (algebraMap.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I))
 Case conversion may be inaccurate. Consider using '#align ideal.smul_top_eq_map Ideal.smul_top_eq_mapₓ'. -/
 @[simp]
 theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
@@ -3147,9 +3147,9 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
 
 /- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSmul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSMul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
 but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSMul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
 Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
Diff
@@ -588,7 +588,7 @@ theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{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)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
 Case conversion may be inaccurate. Consider using '#align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
@@ -621,7 +621,7 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r x) I)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_colon_singleton Ideal.mem_colon_singletonₓ'. -/
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
@@ -1403,7 +1403,7 @@ instance {R : Type _} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Idea
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.idemCommSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) => Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))))
+  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)))) I s) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))))))
 Case conversion may be inaccurate. Consider using '#align ideal.prod_eq_bot Ideal.prod_eq_botₓ'. -/
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 theorem prod_eq_bot {R : Type _} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
@@ -1793,7 +1793,7 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 lean 3 declaration is
   forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -1917,7 +1917,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
 lean 3 declaration is
   forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))))) I (f i)))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
@@ -2942,7 +2942,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J)) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) I J)) (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f I) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) I J)) (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_mul Ideal.map_mulₓ'. -/
 theorem map_mul : map f (I * J) = map f I * map f J :=
   le_antisymm
@@ -2973,7 +2973,7 @@ def mapHom : Ideal R →*₀ Ideal S where
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (n : Nat), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I n)) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) n)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (n : Nat), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) I n)) (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f I) n)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (n : Nat), Eq.{succ u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) I n)) (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I) n)
 Case conversion may be inaccurate. Consider using '#align ideal.map_pow Ideal.map_powₓ'. -/
 protected theorem map_pow (n : ℕ) : map f (I ^ n) = map f I ^ n :=
   map_pow (mapHom f) I n
@@ -2983,7 +2983,7 @@ protected theorem map_pow (n : ℕ) : map f (I ^ n) = map f I ^ n :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K)) (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K)) (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) (K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K)) (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_radical Ideal.comap_radicalₓ'. -/
 theorem comap_radical : comap f (radical K) = radical (comap f K) :=
   by
@@ -2997,7 +2997,7 @@ variable {K}
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, (Ideal.IsRadical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K) -> (Ideal.IsRadical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))}, (Ideal.IsRadical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K) -> (Ideal.IsRadical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, (Ideal.IsRadical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K) -> (Ideal.IsRadical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K))
 Case conversion may be inaccurate. Consider using '#align ideal.is_radical.comap Ideal.IsRadical.comapₓ'. -/
 theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical :=
   by
@@ -3011,7 +3011,7 @@ variable {I J L}
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, LE.le.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Preorder.toLE.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.completeLattice.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_le Ideal.map_radical_leₓ'. -/
 theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
   map_le_iff_le_comap.2 fun r ⟨n, hrni⟩ => ⟨n, map_pow f r n ▸ mem_map_of_mem f hrni⟩
@@ -3021,7 +3021,7 @@ theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} {L : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f L)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) K L))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} {L : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))}, LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f L)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) K L))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} {L : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f L)) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) K L))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_mul Ideal.le_comap_mulₓ'. -/
 theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
   map_le_iff_le_comap.1 <|
@@ -3033,7 +3033,7 @@ theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} (n : Nat), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) n) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) K n))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (n : Nat), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K) n) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) K n))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))} (n : Nat), LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f K) n) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) K n))
 Case conversion may be inaccurate. Consider using '#align ideal.le_comap_pow Ideal.le_comap_powₓ'. -/
 theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
@@ -3123,7 +3123,7 @@ variable {ι M v}
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) x) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3136,7 +3136,7 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) f i)) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3149,7 +3149,7 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSmul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
 but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) x I)) R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
 Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
@@ -3177,7 +3177,7 @@ variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -3195,7 +3195,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) b i))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_4)) b i))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3209,7 +3209,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.span.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3238,7 +3238,7 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) _inst_3))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3251,7 +3251,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))] {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) x I)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3))) I (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_3)) _inst_4))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3584,7 +3584,7 @@ variable [CommRing R] [CommRing S]
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (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)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f J)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) J (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) 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 (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} {J : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) 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_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
@@ -3596,7 +3596,7 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) 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 (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) 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_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2)))) f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
Diff
@@ -970,7 +970,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8049 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8051 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8049 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8051) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8044 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8046 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8044 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8046) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
Diff
@@ -970,7 +970,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8043 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8045 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8043 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8045) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8049 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8051 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8049 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8051) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
@@ -3177,7 +3177,7 @@ variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -3195,7 +3195,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4)) b i))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3209,7 +3209,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
Diff
@@ -3183,7 +3183,7 @@ Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singl
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
   b.map <|
-    LinearEquiv.ofInjective (LinearMap.Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
+    LinearEquiv.ofInjective (Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
         LinearEquiv.ofEq _ _
           (by
             ext
@@ -3202,19 +3202,19 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     (basisSpanSingleton b hx i : S) = x * b i := by
   simp only [basis_span_singleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
-    LinearEquiv.restrictScalars_apply, LinearMap.Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
+    LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 /- warning: ideal.constr_basis_span_singleton -> Ideal.constr_basisSpanSingleton is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
-    b.constr N (coe ∘ basisSpanSingleton b hx) = LinearMap.Algebra.lmul R S x :=
+    b.constr N (coe ∘ basisSpanSingleton b hx) = Algebra.lmul R S x :=
   b.ext fun i => by
     erw [Basis.constr_basis, Function.comp_apply, basis_span_singleton_apply, LinearMap.mul_apply']
 #align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingleton
Diff
@@ -3412,7 +3412,7 @@ include rc
 
 /- warning: ring_hom.sub_mem_ker_iff -> RingHom.sub_mem_ker_iff is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
 but is expected to have type
   forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
 Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
Diff
@@ -3195,7 +3195,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3209,7 +3209,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7822 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3238,7 +3238,7 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3251,7 +3251,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.548 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
Diff
@@ -65,7 +65,7 @@ variable {I J : Ideal R} {N P : Submodule R M}
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator Submodule.mem_annihilatorₓ'. -/
 theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) :=
   ⟨fun hr n hn => congr_arg Subtype.val (LinearMap.ext_iff.1 (LinearMap.mem_ker.1 hr) ⟨n, hn⟩),
@@ -76,7 +76,7 @@ theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator' Submodule.mem_annihilator'ₓ'. -/
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
   mem_annihilator.trans ⟨fun H n hn => (mem_bot R).2 <| H n hn, fun H n hn => (mem_bot R).1 <| H hn⟩
@@ -86,7 +86,7 @@ theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (Linea
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s), Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) n)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : Set.Elem.{u2} M s), Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : Set.Elem.{u2} M s), Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span Submodule.mem_annihilator_spanₓ'. -/
 theorem mem_annihilator_span (s : Set M) (r : R) :
     r ∈ (Submodule.span R s).annihilator ↔ ∀ n : s, r • (n : M) = 0 :=
@@ -110,7 +110,7 @@ theorem mem_annihilator_span (s : Set M) (r : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) g)))) (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r g) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) g)))) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r g) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) g)))) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r g) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singletonₓ'. -/
 theorem mem_annihilator_span_singleton (g : M) (r : R) :
     r ∈ (Submodule.span R ({g} : Set M)).annihilator ↔ r • g = 0 := by simp [mem_annihilator_span]
@@ -160,31 +160,23 @@ theorem annihilator_supᵢ (ι : Sort w) (f : ι → Submodule R M) :
         mem_annihilator'.1 this
 #align submodule.annihilator_supr Submodule.annihilator_supᵢ
 
-/- warning: submodule.smul_mem_smul -> Submodule.smul_mem_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R} {n : M}, (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)))) r I) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R} {n : M}, (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.instSetLikeSubmodule.{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)))) r I) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_mem_smul Submodule.smul_mem_smulₓ'. -/
+#print Submodule.smul_mem_smul /-
 theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I • N :=
   apply_mem_map₂ _ hr hn
 #align submodule.smul_mem_smul Submodule.smul_mem_smul
+-/
 
-/- warning: submodule.smul_le -> Submodule.smul_le is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) P)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) P) (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) P)))
-Case conversion may be inaccurate. Consider using '#align submodule.smul_le Submodule.smul_leₓ'. -/
+#print Submodule.smul_le /-
 theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N, r • n ∈ P :=
   map₂_le
 #align submodule.smul_le Submodule.smul_le
+-/
 
 /- warning: submodule.smul_induction_on -> Submodule.smul_induction_on is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
 Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on Submodule.smul_induction_onₓ'. -/
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
@@ -200,7 +192,7 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) {p : forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (y : M) (hy : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) x y hx hy))) -> (p x hx)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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.instSetLikeSubmodule.{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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
 Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on' Submodule.smul_induction_on'ₓ'. -/
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
@@ -218,7 +210,7 @@ theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I •
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => Exists.{0} (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)))) y I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) y I) => Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) y m) x)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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.instSetLikeSubmodule.{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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singletonₓ'. -/
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     x ∈ I • span R ({m} : Set M) ↔ ∃ y ∈ I, y • m = x :=
@@ -416,7 +408,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) x) M') -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) x) M') -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) x) M') -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_memₓ'. -/
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
@@ -433,7 +425,7 @@ theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Exists.{1} Nat (fun (n : Nat) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) n) x) M')) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Exists.{1} Nat (fun (n : Nat) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) n) x) M')) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Exists.{1} Nat (fun (n : Nat) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) n) x) M')) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_eq_top_of_smul_pow_mem Submodule.mem_of_span_eq_top_of_smul_pow_memₓ'. -/
 /-- Given `s`, a generating set of `R`, to check that an `x : M` falls in a
 submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `n` for each `r : s`. -/
@@ -473,16 +465,12 @@ theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
 
 variable {I}
 
-/- warning: submodule.mem_smul_span -> Submodule.mem_smul_span is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Set.{u2} M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.unionᵢ.{u2, succ u1} M R (fun (a : R) => Set.unionᵢ.{u2, 0} M (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 I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a I) => Set.unionᵢ.{u2, succ u2} M M (fun (b : M) => Set.unionᵢ.{u2, 0} M (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) b s) (fun (H : Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) b s) => Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) a b))))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Set.{u2} M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.unionᵢ.{u2, succ u1} M R (fun (a : R) => Set.unionᵢ.{u2, 0} M (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.instSetLikeSubmodule.{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 I) (fun (H : Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.instSetLikeSubmodule.{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 I) => Set.unionᵢ.{u2, succ u2} M M (fun (b : M) => Set.unionᵢ.{u2, 0} M (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) b s) (fun (H : Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) b s) => Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) a b))))))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span Submodule.mem_smul_spanₓ'. -/
+#print Submodule.mem_smul_span /-
 theorem mem_smul_span {s : Set M} {x : M} :
     x ∈ I • Submodule.span R s ↔ x ∈ Submodule.span R (⋃ (a ∈ I) (b ∈ s), ({a • b} : Set M)) := by
   rw [← I.span_eq, Submodule.span_smul_span, I.span_eq] <;> rfl
 #align submodule.mem_smul_span Submodule.mem_smul_span
+-/
 
 variable (I)
 
@@ -490,7 +478,7 @@ variable (I)
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.range.{u2, succ u3} M ι f)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} ι R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : ι) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f i))) x)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sumₓ'. -/
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
@@ -525,7 +513,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (s : Set.{u3} ι) (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.image.{u3, u2} ι M f s)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeSubtype.{succ u3} ι (fun (x : ι) => Membership.Mem.{u3, u3} ι (Set.{u3} ι) (Set.hasMem.{u3} ι) x s))))) i)))) x)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'ₓ'. -/
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
@@ -536,7 +524,7 @@ theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N), Iff (Membership.Mem.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.setLike.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) I (Top.top.{u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasTop.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N))))) x) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.instSetLikeSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.setLike.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_top_iff Submodule.mem_smul_top_iffₓ'. -/
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
@@ -576,27 +564,19 @@ def colon (N P : Submodule R M) : Ideal R :=
 #align submodule.colon Submodule.colon
 -/
 
-/- warning: submodule.mem_colon -> Submodule.mem_colon is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (forall (p : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) p P) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r p) N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (forall (p : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) p P) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r p) N))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_colon Submodule.mem_colonₓ'. -/
+#print Submodule.mem_colon /-
 theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
   mem_annihilator.trans
     ⟨fun H p hp => (Quotient.mk_eq_zero N).1 (H (Quotient.mk p) (mem_map_of_mem hp)),
       fun H m ⟨p, hp, hpm⟩ => hpm ▸ N.mkQ.map_smul r p ▸ (Quotient.mk_eq_zero N).2 <| H p hp⟩
 #align submodule.mem_colon Submodule.mem_colon
+-/
 
-/- warning: submodule.mem_colon' -> Submodule.mem_colon' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
+#print Submodule.mem_colon' /-
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
+-/
 
 #print Submodule.colon_mono /-
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun r hrnp =>
@@ -625,12 +605,7 @@ theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι
                 this
 #align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢ
 
-/- warning: submodule.mem_colon_singleton -> Submodule.mem_colon_singleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {x : M} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) x)))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r x) N)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {x : M} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) x)))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r x) N)
-Case conversion may be inaccurate. Consider using '#align submodule.mem_colon_singleton Submodule.mem_colon_singletonₓ'. -/
+#print Submodule.mem_colon_singleton /-
 @[simp]
 theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     r ∈ N.colon (Submodule.span R {x}) ↔ r • x ∈ N :=
@@ -640,12 +615,13 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     _ ↔ r • x ∈ N := by simp_rw [smul_comm r] <;> exact SetLike.forall_smul_mem_iff
     
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
+-/
 
 /- warning: ideal.mem_colon_singleton -> Ideal.mem_colon_singleton is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r x) I)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_colon_singleton Ideal.mem_colon_singletonₓ'. -/
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
@@ -689,7 +665,7 @@ theorem zero_eq_bot : (0 : Ideal R) = ⊥ :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Finset.sum.{u1, u2} (Ideal.{u1} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f) (Finset.sup.{u1, u2} (Ideal.{u1} R _inst_1) ι (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (Submodule.orderBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> (Ideal.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Finset.sum.{u2, u1} (Ideal.{u2} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f) (Finset.sup.{u2, u1} (Ideal.{u2} R _inst_1) ι (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f)
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> (Ideal.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Finset.sum.{u2, u1} (Ideal.{u2} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f) (Finset.sup.{u2, u1} (Ideal.{u2} R _inst_1) ι (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f)
 Case conversion may be inaccurate. Consider using '#align ideal.sum_eq_sup Ideal.sum_eq_supₓ'. -/
 @[simp]
 theorem sum_eq_sup {ι : Type _} (s : Finset ι) (f : ι → Ideal R) : s.Sum f = s.sup f :=
@@ -721,7 +697,7 @@ theorem one_eq_top : (1 : Ideal R) = ⊤ := by erw [Submodule.one_eq_range, Line
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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.instSetLikeSubmodule.{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)))) r I) -> (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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul Ideal.mul_mem_mulₓ'. -/
 theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
   Submodule.smul_mem_smul hr hs
@@ -731,27 +707,23 @@ theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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.instSetLikeSubmodule.{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)))) r I) -> (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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_revₓ'. -/
 theorem mul_mem_mul_rev {r s} (hr : r ∈ I) (hs : s ∈ J) : s * r ∈ I * J :=
   mul_comm r s ▸ mul_mem_mul hr hs
 #align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_rev
 
-/- warning: ideal.pow_mem_pow -> Ideal.pow_mem_pow is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : 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)))) x I) -> (forall (n : Nat), 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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : 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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I) -> (forall (n : Nat), 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.instSetLikeSubmodule.{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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_mem_pow Ideal.pow_mem_powₓ'. -/
+#print Ideal.pow_mem_pow /-
 theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
   Submodule.pow_mem_pow _ hx _
 #align ideal.pow_mem_pow Ideal.pow_mem_pow
+-/
 
 /- warning: ideal.prod_mem_prod -> Ideal.prod_mem_prod is a dubious translation:
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} {s : Finset.{u2} ι} {I : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (x i) (I i))) -> (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)))) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => I i)))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} {s : Finset.{u1} ι} {I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (x i) (I i))) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => I i)))
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} {s : Finset.{u1} ι} {I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (x i) (I i))) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => I i)))
 Case conversion may be inaccurate. Consider using '#align ideal.prod_mem_prod Ideal.prod_mem_prodₓ'. -/
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
@@ -771,7 +743,7 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) K)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) K) (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (s : 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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) K)))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) K)))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_le Ideal.mul_leₓ'. -/
 theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
@@ -893,7 +865,7 @@ theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Id
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) z y) x)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => And (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.instSetLikeSubmodule.{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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) z y) x)))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => And (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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) z y) x)))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singletonₓ'. -/
 theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔ ∃ z ∈ I, z * y = x :=
   Submodule.mem_smul_span_singleton
@@ -903,7 +875,7 @@ theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y z) x)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => And (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.instSetLikeSubmodule.{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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y z) x)))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => And (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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y z) x)))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mulₓ'. -/
 theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔ ∃ z ∈ I, y * z = x := by
   simp only [mul_comm, mem_mul_span_singleton]
@@ -913,7 +885,7 @@ theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI))))
 Case conversion may be inaccurate. Consider using '#align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iffₓ'. -/
 theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
     I ≤ span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI :=
@@ -925,7 +897,7 @@ theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) J))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) J) (forall (z : 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.instSetLikeSubmodule.{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)))) z I) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) J))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) J))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iffₓ'. -/
 theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J :=
   by
@@ -942,7 +914,7 @@ theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J 
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ)))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ)))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ)))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
     span {x} * I ≤ span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ := by
@@ -1020,7 +992,7 @@ theorem span_singleton_mul_left_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI)))) (forall (z : 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)))) z J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) I)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (And (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI)))) (forall (z : 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.instSetLikeSubmodule.{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)))) z J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) I)))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI)))) (forall (z : 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)))) z J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) I)))
 Case conversion may be inaccurate. Consider using '#align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mulₓ'. -/
 theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
     I = span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I := by
@@ -1031,7 +1003,7 @@ theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))) (forall (zJ : 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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => Exists.{0} (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)))) zI I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zI I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (And (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))) (forall (zJ : 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.instSetLikeSubmodule.{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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => And (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.instSetLikeSubmodule.{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)))) zI I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))) (forall (zJ : 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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => And (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)))) zI I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
     span {x} * I = span {y} * J ↔
@@ -1078,7 +1050,7 @@ theorem multiset_prod_span_singleton (m : Multiset R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> R), (Set.Pairwise.{u2} ι ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s) (Function.onFun.{succ u2, succ u1, 1} ι R Prop (IsCoprime.{u1} R _inst_1) I)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => I i)))))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), (Set.Pairwise.{u1} ι (Finset.toSet.{u1} ι s) (Function.onFun.{succ u1, succ u2, 1} ι R Prop (IsCoprime.{u2} R _inst_1) I)) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i)))))
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), (Set.Pairwise.{u1} ι (Finset.toSet.{u1} ι s) (Function.onFun.{succ u1, succ u2, 1} ι R Prop (IsCoprime.{u2} R _inst_1) I)) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i)))))
 Case conversion may be inaccurate. Consider using '#align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singletonₓ'. -/
 theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
     (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
@@ -1133,7 +1105,7 @@ theorem mul_le_inf : I * J ≤ I ⊓ J :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{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))) s)
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{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))) s)
 Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_infₓ'. -/
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
@@ -1149,7 +1121,7 @@ theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
 lean 3 declaration is
   forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{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)) (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s f) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f)
 but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s f) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f)
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s f) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f)
 Case conversion may be inaccurate. Consider using '#align ideal.prod_le_inf Ideal.prod_le_infₓ'. -/
 theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.Prod f ≤ s.inf f :=
   multiset_prod_le_inf
@@ -1789,7 +1761,7 @@ theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
 lean 3 declaration is
   forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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)) (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))))))) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
 but is expected to have type
-  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'ₓ'. -/
 theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hsne : s.Nonempty) : s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
@@ -1801,7 +1773,7 @@ theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) J) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.instHasSubsetSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I) (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) J) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
+  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.instHasSubsetSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I) (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) J) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union Ideal.subset_unionₓ'. -/
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
@@ -1821,7 +1793,7 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
 lean 3 declaration is
   forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -1945,7 +1917,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
 lean 3 declaration is
   forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))
 Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
@@ -2098,7 +2070,7 @@ theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_of_mem Ideal.mem_map_of_memₓ'. -/
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
@@ -2108,7 +2080,7 @@ theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (x : coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I), Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I))))) x)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
 Case conversion may be inaccurate. Consider using '#align ideal.apply_coe_mem_map Ideal.apply_coe_mem_mapₓ'. -/
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
@@ -2128,7 +2100,7 @@ theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) K)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_comap Ideal.mem_comapₓ'. -/
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
@@ -2165,7 +2137,7 @@ include rcg
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.instSetLikeSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.setLike.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
@@ -2179,7 +2151,7 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.instSetLikeSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.setLike.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
@@ -2543,7 +2515,7 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 _inst_4] (I : Ideal.{u2} S _inst_4), Eq.{succ u2} (Set.{u2} S) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) S (Submodule.setLike.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (Submodule.restrictScalars.{u1, u2, u2} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u2} S _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 _inst_4 _inst_5) I)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_4) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_4) S (Submodule.setLike.{u2, u2} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Semiring.toModule.{u2} S _inst_4))))) I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 _inst_4] (I : Ideal.{u1} S _inst_4), Eq.{succ u1} (Set.{u1} S) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) S (Submodule.instSetLikeSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u1} S _inst_4) (Algebra.toSMul.{u2, u1} R S _inst_3 _inst_4 _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 _inst_4 _inst_5) I)) (SetLike.coe.{u1, u1} (Ideal.{u1} S _inst_4) S (Submodule.instSetLikeSubmodule.{u1, u1} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Semiring.toModule.{u1} S _inst_4)) I)
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 _inst_4] (I : Ideal.{u1} S _inst_4), Eq.{succ u1} (Set.{u1} S) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) S (Submodule.setLike.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u1} S _inst_4) (Algebra.toSMul.{u2, u1} R S _inst_3 _inst_4 _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 _inst_4 _inst_5) I)) (SetLike.coe.{u1, u1} (Ideal.{u1} S _inst_4) S (Submodule.setLike.{u1, u1} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Semiring.toModule.{u1} S _inst_4)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.coe_restrict_scalars Ideal.coe_restrictScalarsₓ'. -/
 @[simp]
 theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebra R S]
@@ -2662,7 +2634,7 @@ theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).coma
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) -> (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) y (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjectiveₓ'. -/
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
@@ -2677,7 +2649,7 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u1} R (fun (x : R) => And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) y))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.setLike.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjectiveₓ'. -/
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
@@ -3095,16 +3067,12 @@ theorem IsPrime.isPrimary {I : Ideal R} (hi : IsPrime I) : IsPrimary I :=
 #align ideal.is_prime.is_primary Ideal.IsPrime.isPrimary
 -/
 
-/- warning: ideal.mem_radical_of_pow_mem -> Ideal.mem_radical_of_pow_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : R} {m : Nat}, (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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x m) (Ideal.radical.{u1} R _inst_1 I)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (Ideal.radical.{u1} R _inst_1 I))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : R} {m : Nat}, (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.instSetLikeSubmodule.{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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x m) (Ideal.radical.{u1} R _inst_1 I)) -> (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (Ideal.radical.{u1} R _inst_1 I))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_memₓ'. -/
+#print Ideal.mem_radical_of_pow_mem /-
 theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ radical I) :
     x ∈ radical I :=
   radical_idem I ▸ ⟨m, hx⟩
 #align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_mem
+-/
 
 #print Ideal.isPrime_radical /-
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
@@ -3142,24 +3110,20 @@ variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
 open BigOperators
 
-/- warning: ideal.finsupp_total -> Ideal.finsuppTotal is a dubious translation:
-lean 3 declaration is
-  forall (ι : Type.{u1}) (M : Type.{u2}) [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))), (ι -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3)
-but is expected to have type
-  forall (ι : Type.{u1}) (M : Type.{u2}) [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))), (ι -> M) -> (LinearMap.{u3, u3, max u3 u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3)
-Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total Ideal.finsuppTotalₓ'. -/
+#print Ideal.finsuppTotal /-
 /-- A variant of `finsupp.total` that takes in vectors valued in `I`. -/
 noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
   (Finsupp.total ι M R v).comp (Finsupp.mapRange.linearMap I.Subtype)
 #align ideal.finsupp_total Ideal.finsuppTotal
+-/
 
 variable {ι M v}
 
 /- warning: ideal.finsupp_total_apply -> Ideal.finsuppTotal_apply is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3170,9 +3134,9 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 
 /- warning: ideal.finsupp_total_apply_eq_of_fintype -> Ideal.finsuppTotal_apply_eq_of_fintype is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3183,9 +3147,9 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
 
 /- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
 lean 3 declaration is
-  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSmul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.zero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSmul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
 but is expected to have type
-  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.zero.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.module.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
 Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
@@ -3213,7 +3177,7 @@ variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -3231,7 +3195,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
 Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
@@ -3245,7 +3209,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3274,7 +3238,7 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3287,7 +3251,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
 but is expected to have type
-  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.instSMulSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.smul.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.setLike.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
 Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
@@ -3319,7 +3283,7 @@ def ker : Ideal R :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) r (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f r) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) _inst_2)))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.mem_ker RingHom.mem_kerₓ'. -/
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
@@ -3329,7 +3293,7 @@ theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Su
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq RingHom.ker_eqₓ'. -/
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
@@ -3363,7 +3327,7 @@ include rcf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] [_inst_4 : Nontrivial.{u2} S] (f : F), Not (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Not (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Not (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.setLike.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f))
 Case conversion may be inaccurate. Consider using '#align ring_hom.not_one_mem_ker RingHom.not_one_mem_kerₓ'. -/
 /-- If the target is not the zero ring, then one is not in the kernel.-/
 theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f :=
@@ -3450,7 +3414,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.setLike.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
 Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
Diff
@@ -545,7 +545,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   have : Submodule.map N.subtype (I • ⊤) = I • N := by
     rw [Submodule.map_smul'', Submodule.map_top, Submodule.range_subtype]
   rw [← this]
-  convert (Function.Injective.mem_set_image N.injective_subtype).symm using 1
+  convert(Function.Injective.mem_set_image N.injective_subtype).symm using 1
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
@@ -998,7 +998,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7987 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7989 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7987 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7989) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8043 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8045 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8043 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.8045) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.RingTheory.NonZeroDivisors
 
 /-!
 # More operations on modules and ideals
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -1489,7 +1489,7 @@ theorem le_radical : I ≤ radical I := fun r hri => ⟨1, (pow_one r).symm ▸
 #print Ideal.radical_eq_iff /-
 /-- An ideal is radical iff it is equal to its radical. -/
 theorem radical_eq_iff : I.radical = I ↔ I.IsRadical := by
-  rw [le_antisymm_iff, and_iff_left le_radical, is_radical]
+  rw [le_antisymm_iff, and_iff_left le_radical, IsRadical]
 #align ideal.radical_eq_iff Ideal.radical_eq_iff
 -/
 
Diff
@@ -995,7 +995,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7983 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7985 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7983 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7985) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7987 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7989 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7987 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7989) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
@@ -2095,7 +2095,7 @@ theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_of_mem Ideal.mem_map_of_memₓ'. -/
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
@@ -2105,7 +2105,7 @@ theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (x : coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I), Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I))))) x)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
 Case conversion may be inaccurate. Consider using '#align ideal.apply_coe_mem_map Ideal.apply_coe_mem_mapₓ'. -/
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
@@ -2125,7 +2125,7 @@ theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) K)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
 Case conversion may be inaccurate. Consider using '#align ideal.mem_comap Ideal.mem_comapₓ'. -/
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
@@ -2162,7 +2162,7 @@ include rcg
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.instSetLikeSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.instSetLikeSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
@@ -2176,7 +2176,7 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.instSetLikeSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.instSetLikeSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
@@ -2186,7 +2186,7 @@ theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverseₓ'. -/
 /-- The `ideal` version of `set.image_subset_preimage_of_inverse`. -/
 theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse g f) :
@@ -2198,7 +2198,7 @@ theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverseₓ'. -/
 /-- The `ideal` version of `set.preimage_subset_image_of_inverse`. -/
 theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse g f) :
@@ -2291,7 +2291,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} R), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.span.{u1} R _inst_1 s)) (Ideal.span.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) s))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
 Case conversion may be inaccurate. Consider using '#align ideal.map_span Ideal.map_spanₓ'. -/
 theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
   symm <|
@@ -2578,7 +2578,7 @@ open Function
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_surjective Ideal.map_comap_of_surjectiveₓ'. -/
 theorem map_comap_of_surjective (I : Ideal S) : map f (comap f I) = I :=
   le_antisymm (map_le_iff_le_comap.2 le_rfl) fun s hsi =>
@@ -2599,7 +2599,7 @@ def giMapComap : GaloisInsertion (map f) (comap f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Surjective.{succ u1, succ u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
 Case conversion may be inaccurate. Consider using '#align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjectiveₓ'. -/
 theorem map_surjective_of_surjective : Surjective (map f) :=
   (giMapComap f hf).l_surjective
@@ -2609,7 +2609,7 @@ theorem map_surjective_of_surjective : Surjective (map f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Injective.{succ u2, succ u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective : Injective (comap f) :=
   (giMapComap f hf).u_injective
@@ -2619,7 +2619,7 @@ theorem comap_injective_of_surjective : Injective (comap f) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjectiveₓ'. -/
 theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).map f = I ⊔ J :=
   (giMapComap f hf).l_sup_u _ _
@@ -2629,7 +2629,7 @@ theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (supᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
 Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjectiveₓ'. -/
 theorem map_supᵢ_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = supᵢ K :=
   (giMapComap f hf).l_supᵢ_u _
@@ -2639,7 +2639,7 @@ theorem map_supᵢ_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).coma
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjectiveₓ'. -/
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
@@ -2649,7 +2649,7 @@ theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (infᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
 Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjectiveₓ'. -/
 theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = infᵢ K :=
   (giMapComap f hf).l_infᵢ_u _
@@ -2659,7 +2659,7 @@ theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).coma
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) -> (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) y (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjectiveₓ'. -/
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
@@ -2674,7 +2674,7 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u1} R (fun (x : R) => And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) y))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjectiveₓ'. -/
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
@@ -2685,7 +2685,7 @@ theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
 Case conversion may be inaccurate. Consider using '#align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjectiveₓ'. -/
 theorem le_map_of_comap_le_of_surjective : comap f K ≤ I → K ≤ map f I := fun h =>
   map_comap_of_surjective f hf K ▸ map_mono h
@@ -2716,7 +2716,7 @@ include hf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
 Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injectiveₓ'. -/
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
@@ -2729,7 +2729,7 @@ theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_of_injective Ideal.comap_bot_of_injectiveₓ'. -/
 theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
   le_bot_iff.mp (Ideal.comap_bot_le_of_injective f hf)
@@ -2755,7 +2755,7 @@ include hf
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) I (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2)))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_map_of_surjective Ideal.comap_map_of_surjectiveₓ'. -/
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
@@ -2771,7 +2771,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 but is expected to have type
-  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
 Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
@@ -2799,7 +2799,7 @@ def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Or (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjectiveₓ'. -/
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
@@ -2816,7 +2816,7 @@ theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)} [H : Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) K], Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjectiveₓ'. -/
 theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaximal (comap f K) :=
   by
@@ -2838,7 +2838,7 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjectiveₓ'. -/
 theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f J ↔ I ≤ J :=
   ⟨fun h => (map_comap_of_surjective f hf I).symm.le.trans (map_le_of_le_comap h), fun h =>
@@ -2909,7 +2909,7 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_mapₓ'. -/
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
@@ -2920,7 +2920,7 @@ theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.map.is_maximal Ideal.map.isMaximalₓ'. -/
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
@@ -3156,7 +3156,7 @@ variable {ι M v}
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
@@ -3169,7 +3169,7 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
 lean 3 declaration is
   forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
 but is expected to have type
-  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
 Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
@@ -3242,7 +3242,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 lean 3 declaration is
   forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 but is expected to have type
-  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7820 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
 Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
@@ -3316,7 +3316,7 @@ def ker : Ideal R :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) r (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f r) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) _inst_2)))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) r) _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.mem_ker RingHom.mem_kerₓ'. -/
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
@@ -3326,7 +3326,7 @@ theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Su
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq RingHom.ker_eqₓ'. -/
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
@@ -3393,7 +3393,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_botₓ'. -/
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
   by
@@ -3405,7 +3405,7 @@ theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (forall (x : R), (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))) -> (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zeroₓ'. -/
 theorem ker_eq_bot_iff_eq_zero : ker f = ⊥ ↔ ∀ x, f x = 0 → x = 0 := by
   rw [← injective_iff_map_eq_zero f, injective_iff_ker_eq_bot]
@@ -3447,7 +3447,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
 Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
@@ -3473,7 +3473,7 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
 lean 3 declaration is
   forall {R : Type.{u1}} {K : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> K) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => K) (MulHomClass.toFunLike.{u3, u1, u2} F R K (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} K (NonUnitalNonAssocSemiring.toDistrib.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2)))) _inst_3)))) f)) -> (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R K F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))) _inst_3 f))
 but is expected to have type
-  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
+  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
 Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_maximal_of_surjective RingHom.ker_isMaximal_of_surjectiveₓ'. -/
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
 theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
@@ -3534,7 +3534,7 @@ include rc
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_infₛₓ'. -/
 theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (infₛ A) = infₛ (map f '' A) :=
@@ -3562,7 +3562,7 @@ theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
 Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjectiveₓ'. -/
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) :=
@@ -3587,7 +3587,7 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {f : F}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))
 but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injectiveₓ'. -/
 theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injective f) :
     I.map f = ⊥ ↔ I = ⊥ := by
@@ -3617,7 +3617,7 @@ variable [CommRing R] [CommRing S]
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (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)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f J)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) J (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) 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 (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
@@ -3629,7 +3629,7 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 lean 3 declaration is
   forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
 but is expected to have type
-  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I))))
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) 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 (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I))))
 Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
@@ -3682,7 +3682,7 @@ variable (f : A →+* B) (f_inv : B → A)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAuxₓ'. -/
 /-- Auxiliary definition used to define `lift_of_right_inverse` -/
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (hg : f.ker ≤ g.ker) :
@@ -3708,7 +3708,7 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
@@ -3720,7 +3720,7 @@ theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverseₓ'. -/
 /-- `lift_of_right_inverse f hf g hg` is the unique ring homomorphism `φ`
 
@@ -3757,7 +3757,7 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
 but is expected to have type
-  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_surjective RingHom.liftOfSurjectiveₓ'. -/
 /-- A non-computable version of `ring_hom.lift_of_right_inverse` for when no computable right
 inverse is available, that uses `function.surj_inv`. -/
@@ -3771,7 +3771,7 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
@@ -3783,7 +3783,7 @@ theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
 Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
@@ -3794,7 +3794,7 @@ theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
 lean 3 declaration is
   forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
 but is expected to have type
-  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
 Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
Diff
@@ -35,32 +35,56 @@ variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
 open Pointwise
 
+#print Submodule.hasSmul' /-
 instance hasSmul' : SMul (Ideal R) (Submodule R M) :=
   ⟨Submodule.map₂ (LinearMap.lsmul R M)⟩
 #align submodule.has_smul' Submodule.hasSmul'
+-/
 
+#print Ideal.smul_eq_mul /-
 /-- This duplicates the global `smul_eq_mul`, but doesn't have to unfold anywhere near as much to
 apply. -/
 protected theorem Ideal.smul_eq_mul (I J : Ideal R) : I • J = I * J :=
   rfl
 #align ideal.smul_eq_mul Ideal.smul_eq_mul
+-/
 
+#print Submodule.annihilator /-
 /-- `N.annihilator` is the ideal of all elements `r : R` such that `r • N = 0`. -/
 def annihilator (N : Submodule R M) : Ideal R :=
   (LinearMap.lsmul R N).ker
 #align submodule.annihilator Submodule.annihilator
+-/
 
 variable {I J : Ideal R} {N P : Submodule R M}
 
+/- warning: submodule.mem_annihilator -> Submodule.mem_annihilator is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator Submodule.mem_annihilatorₓ'. -/
 theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) :=
   ⟨fun hr n hn => congr_arg Subtype.val (LinearMap.ext_iff.1 (LinearMap.mem_ker.1 hr) ⟨n, hn⟩),
     fun h => LinearMap.mem_ker.2 <| LinearMap.ext fun n => Subtype.eq <| h n.1 n.2⟩
 #align submodule.mem_annihilator Submodule.mem_annihilator
 
+/- warning: submodule.mem_annihilator' -> Submodule.mem_annihilator' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R}, Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N)) (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) N (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M _inst_2 _inst_2 _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_2 _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Module.toDistribMulAction.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (smulCommClass_self.{u1, u2} R M (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (LinearMap.id.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator' Submodule.mem_annihilator'ₓ'. -/
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
   mem_annihilator.trans ⟨fun H n hn => (mem_bot R).2 <| H n hn, fun H n hn => (mem_bot R).1 <| H hn⟩
 #align submodule.mem_annihilator' Submodule.mem_annihilator'
 
+/- warning: submodule.mem_annihilator_span -> Submodule.mem_annihilator_span is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s), Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Set.{u2} M) Type.{u2} (Set.hasCoeToSort.{u2} M) s) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) x s))))) n)) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (s : Set.{u2} M) (r : R), Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (forall (n : Set.Elem.{u2} M s), Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x s) n)) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span Submodule.mem_annihilator_spanₓ'. -/
 theorem mem_annihilator_span (s : Set M) (r : R) :
     r ∈ (Submodule.span R s).annihilator ↔ ∀ n : s, r • (n : M) = 0 :=
   by
@@ -79,14 +103,32 @@ theorem mem_annihilator_span (s : Set M) (r : R) :
       rw [smul_comm, hx, smul_zero]
 #align submodule.mem_annihilator_span Submodule.mem_annihilator_span
 
+/- warning: submodule.mem_annihilator_span_singleton -> Submodule.mem_annihilator_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) g)))) (Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r g) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (g : M) (r : R), Iff (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.instSetLikeSubmodule.{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)))) r (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) g)))) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r g) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singletonₓ'. -/
 theorem mem_annihilator_span_singleton (g : M) (r : R) :
     r ∈ (Submodule.span R ({g} : Set M)).annihilator ↔ r • g = 0 := by simp [mem_annihilator_span]
 #align submodule.mem_annihilator_span_singleton Submodule.mem_annihilator_span_singleton
 
+/- warning: submodule.annihilator_bot -> Submodule.annihilator_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) (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))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) (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))))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_bot Submodule.annihilator_botₓ'. -/
 theorem annihilator_bot : (⊥ : Submodule R M).annihilator = ⊤ :=
   (Ideal.eq_top_iff_one _).2 <| mem_annihilator'.2 bot_le
 #align submodule.annihilator_bot Submodule.annihilator_bot
 
+/- warning: submodule.annihilator_eq_top_iff -> Submodule.annihilator_eq_top_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) (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))))) (Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) (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))))) (Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iffₓ'. -/
 theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
   ⟨fun H =>
     eq_bot_iff.2 fun (n : M) hn =>
@@ -94,10 +136,18 @@ theorem annihilator_eq_top_iff : N.annihilator = ⊤ ↔ N = ⊥ :=
     fun H => H.symm ▸ annihilator_bot⟩
 #align submodule.annihilator_eq_top_iff Submodule.annihilator_eq_top_iff
 
+#print Submodule.annihilator_mono /-
 theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun r hrp =>
   mem_annihilator.2 fun n hn => mem_annihilator.1 hrp n <| h hn
 #align submodule.annihilator_mono Submodule.annihilator_mono
+-/
 
+/- warning: submodule.annihilator_supr -> Submodule.annihilator_supᵢ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (ι : Sort.{u3}) (f : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => f i))) (infᵢ.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) ι (fun (i : ι) => Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i)))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_supr Submodule.annihilator_supᵢₓ'. -/
 theorem annihilator_supᵢ (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
   le_antisymm (le_infᵢ fun i => annihilator_mono <| le_supᵢ _ _) fun r H =>
@@ -107,14 +157,32 @@ theorem annihilator_supᵢ (ι : Sort w) (f : ι → Submodule R M) :
         mem_annihilator'.1 this
 #align submodule.annihilator_supr Submodule.annihilator_supᵢ
 
+/- warning: submodule.smul_mem_smul -> Submodule.smul_mem_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R} {n : M}, (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)))) r I) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {r : R} {n : M}, (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.instSetLikeSubmodule.{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)))) r I) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_mem_smul Submodule.smul_mem_smulₓ'. -/
 theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I • N :=
   apply_mem_map₂ _ hr hn
 #align submodule.smul_mem_smul Submodule.smul_mem_smul
 
+/- warning: submodule.smul_le -> Submodule.smul_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) P) (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) P)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {P : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3}, Iff (LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) P) (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) P)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_le Submodule.smul_leₓ'. -/
 theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N, r • n ∈ P :=
   map₂_le
 #align submodule.smul_le Submodule.smul_le
 
+/- warning: submodule.smul_induction_on -> Submodule.smul_induction_on is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> (forall (r : 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)))) r I) -> (forall (n : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {p : M -> Prop} {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (n : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N) -> (p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n)))) -> (forall (x : M) (y : M), (p x) -> (p y) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y))) -> (p x)
+Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on Submodule.smul_induction_onₓ'. -/
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x :=
@@ -125,6 +193,12 @@ theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r 
   exact Hb _ hi _ hj
 #align submodule.smul_induction_on Submodule.smul_induction_on
 
+/- warning: submodule.smul_induction_on' -> Submodule.smul_induction_on' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) {p : forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) -> Prop}, (forall (r : R) (hr : 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)))) r I) (n : M) (hn : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (y : M) (hy : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) x y hx hy))) -> (p x hx)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3} {x : M} (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) {p : forall (x : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) -> Prop}, (forall (r : R) (hr : 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.instSetLikeSubmodule.{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)))) r I) (n : M) (hn : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) n N), p (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) r n) (Submodule.smul_mem_smul.{u1, u2} R M _inst_1 _inst_2 _inst_3 I N r n hr hn)) -> (forall (x : M) (hx : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (y : M) (hy : Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) y (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)), (p x hx) -> (p y hy) -> (p (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)))) x y) (Submodule.add_mem.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) x y hx hy))) -> (p x hx)
+Case conversion may be inaccurate. Consider using '#align submodule.smul_induction_on' Submodule.smul_induction_on'ₓ'. -/
 /-- Dependent version of `submodule.smul_induction_on`. -/
 @[elab_as_elim]
 theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I • N → Prop}
@@ -137,6 +211,12 @@ theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I •
       ⟨_, H1 _ _ _ _ hx hy⟩
 #align submodule.smul_induction_on' Submodule.smul_induction_on'
 
+/- warning: submodule.mem_smul_span_singleton -> Submodule.mem_smul_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => Exists.{0} (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)))) y I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) y I) => Eq.{succ u2} M (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) y m) x)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) m)))) (Exists.{succ u1} R (fun (y : R) => And (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.instSetLikeSubmodule.{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)))) y I) (Eq.{succ u2} M (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) y m) x)))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singletonₓ'. -/
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     x ∈ I • span R ({m} : Set M) ↔ ∃ y ∈ I, y • m = x :=
   ⟨fun hx =>
@@ -149,22 +229,36 @@ theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
     fun ⟨y, hyi, hy⟩ => hy ▸ smul_mem_smul hyi (subset_span <| Set.mem_singleton m)⟩
 #align submodule.mem_smul_span_singleton Submodule.mem_smul_span_singleton
 
+#print Submodule.smul_le_right /-
 theorem smul_le_right : I • N ≤ N :=
   smul_le.2 fun r hr n => N.smul_mem r
 #align submodule.smul_le_right Submodule.smul_le_right
+-/
 
+#print Submodule.smul_mono /-
 theorem smul_mono (hij : I ≤ J) (hnp : N ≤ P) : I • N ≤ J • P :=
   map₂_le_map₂ hij hnp
 #align submodule.smul_mono Submodule.smul_mono
+-/
 
+#print Submodule.smul_mono_left /-
 theorem smul_mono_left (h : I ≤ J) : I • N ≤ J • N :=
   map₂_le_map₂_left h
 #align submodule.smul_mono_left Submodule.smul_mono_left
+-/
 
+#print Submodule.smul_mono_right /-
 theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
   map₂_le_map₂_right h
 #align submodule.smul_mono_right Submodule.smul_mono_right
+-/
 
+/- warning: submodule.map_le_smul_top -> Submodule.map_le_smul_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasTop.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (f : LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3), LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Submodule.map.{u1, u1, u1, u2, max u1 u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u1, u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R M (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u1, u2} R R R M (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_2 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f I) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Top.top.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instTopSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align submodule.map_le_smul_top Submodule.map_le_smul_topₓ'. -/
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
     Submodule.map f I ≤ I • (⊤ : Submodule R M) :=
   by
@@ -173,45 +267,86 @@ theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
   exact smul_mem_smul hy mem_top
 #align submodule.map_le_smul_top Submodule.map_le_smul_top
 
+/- warning: submodule.annihilator_smul -> Submodule.annihilator_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Submodule.annihilator.{u1, u2} R M _inst_1 _inst_2 _inst_3 N) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align submodule.annihilator_smul Submodule.annihilator_smulₓ'. -/
 @[simp]
 theorem annihilator_smul (N : Submodule R M) : annihilator N • N = ⊥ :=
   eq_bot_iff.2 (smul_le.2 fun r => mem_annihilator.1)
 #align submodule.annihilator_smul Submodule.annihilator_smul
 
+/- warning: submodule.annihilator_mul -> Submodule.annihilator_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I) I) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I) I) (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 submodule.annihilator_mul Submodule.annihilator_mulₓ'. -/
 @[simp]
 theorem annihilator_mul (I : Ideal R) : annihilator I * I = ⊥ :=
   annihilator_smul I
 #align submodule.annihilator_mul Submodule.annihilator_mul
 
+/- warning: submodule.mul_annihilator -> Submodule.mul_annihilator is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) I (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I)) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.mul.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) I (Submodule.annihilator.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I)) (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 submodule.mul_annihilator Submodule.mul_annihilatorₓ'. -/
 @[simp]
 theorem mul_annihilator (I : Ideal R) : I * annihilator I = ⊥ := by rw [mul_comm, annihilator_mul]
 #align submodule.mul_annihilator Submodule.mul_annihilator
 
 variable (I J N P)
 
+#print Submodule.smul_bot /-
 @[simp]
 theorem smul_bot : I • (⊥ : Submodule R M) = ⊥ :=
   map₂_bot_right _ _
 #align submodule.smul_bot Submodule.smul_bot
+-/
 
+/- warning: submodule.bot_smul -> Submodule.bot_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasBot.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) (Bot.bot.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.instBotSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align submodule.bot_smul Submodule.bot_smulₓ'. -/
 @[simp]
 theorem bot_smul : (⊥ : Ideal R) • N = ⊥ :=
   map₂_bot_left _ _
 #align submodule.bot_smul Submodule.bot_smul
 
+/- warning: submodule.top_smul -> Submodule.top_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (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)))) N) N
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (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)))) N) N
+Case conversion may be inaccurate. Consider using '#align submodule.top_smul Submodule.top_smulₓ'. -/
 @[simp]
 theorem top_smul : (⊤ : Ideal R) • N = N :=
   le_antisymm smul_le_right fun r hri => one_smul R r ▸ smul_mem_smul mem_top hri
 #align submodule.top_smul Submodule.top_smul
 
+#print Submodule.smul_sup /-
 theorem smul_sup : I • (N ⊔ P) = I • N ⊔ I • P :=
   map₂_sup_right _ _ _ _
 #align submodule.smul_sup Submodule.smul_sup
+-/
 
+/- warning: submodule.sup_smul -> Submodule.sup_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) J N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) N) (Sup.sup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) J N))
+Case conversion may be inaccurate. Consider using '#align submodule.sup_smul Submodule.sup_smulₓ'. -/
 theorem sup_smul : (I ⊔ J) • N = I • N ⊔ J • N :=
   map₂_sup_left _ _ _ _
 #align submodule.sup_smul Submodule.sup_smul
 
+#print Submodule.smul_assoc /-
 protected theorem smul_assoc : (I • J) • N = I • J • N :=
   le_antisymm
     (smul_le.2 fun rs hrsij t htn =>
@@ -224,15 +359,30 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
       smul_le.2 fun s hs n hn =>
         show r • s • n ∈ (I • J) • N from mul_smul r s n ▸ smul_mem_smul (smul_mem_smul hr hs) hn)
 #align submodule.smul_assoc Submodule.smul_assoc
+-/
 
+#print Submodule.smul_inf_le /-
 theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ :=
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
+-/
 
+/- warning: submodule.smul_supr -> Submodule.smul_supᵢ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, Eq.{succ u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι t)) (supᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_supr Submodule.smul_supᵢₓ'. -/
 theorem smul_supᵢ {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • supᵢ t = ⨆ i, I • t i :=
   map₂_supᵢ_right _ _ _
 #align submodule.smul_supr Submodule.smul_supᵢ
 
+/- warning: submodule.smul_infi_le -> Submodule.smul_infᵢ_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {ι : Sort.{u3}} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {t : ι -> (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)}, LE.le.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasInf.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (t i)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] {ι : Sort.{u1}} {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {t : ι -> (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)}, LE.le.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Preorder.toLE.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (PartialOrder.toPreorder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.completeLattice.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι t)) (infᵢ.{u3, u1} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.instInfSetSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (t i)))
+Case conversion may be inaccurate. Consider using '#align submodule.smul_infi_le Submodule.smul_infᵢ_leₓ'. -/
 theorem smul_infᵢ_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
     I • infᵢ t ≤ ⨅ i, I • t i :=
   le_infᵢ fun i => smul_mono_right (infᵢ_le _ _)
@@ -240,10 +390,13 @@ theorem smul_infᵢ_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
 
 variable (S : Set R) (T : Set M)
 
+#print Submodule.span_smul_span /-
 theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t ∈ T), {s • t}) :=
   (map₂_span_span _ _ _ _).trans <| congr_arg _ <| Set.image2_eq_unionᵢ _ _ _
 #align submodule.span_smul_span Submodule.span_smul_span
+-/
 
+#print Submodule.ideal_span_singleton_smul /-
 theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
     (Ideal.span {r} : Ideal R) • N = r • N :=
   by
@@ -254,7 +407,14 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
   conv_lhs => rw [← span_eq N, span_smul_span]
   simpa
 #align submodule.ideal_span_singleton_smul Submodule.ideal_span_singleton_smul
+-/
 
+/- warning: submodule.mem_of_span_top_of_smul_mem -> Submodule.mem_of_span_top_of_smul_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) x) M') -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) x) M') -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_memₓ'. -/
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' :=
   by
@@ -266,6 +426,12 @@ theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal
   simpa using H
 #align submodule.mem_of_span_top_of_smul_mem Submodule.mem_of_span_top_of_smul_mem
 
+/- warning: submodule.mem_of_span_eq_top_of_smul_pow_mem -> Submodule.mem_of_span_eq_top_of_smul_pow_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s), Exists.{1} Nat (fun (n : Nat) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} R) Type.{u1} (Set.hasCoeToSort.{u1} R) s) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Set.{u1} R) (Set.hasMem.{u1} R) x s))))) r) n) x) M')) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (M' : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (s : Set.{u1} R), (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) s) (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))))) -> (forall (x : M), (forall (r : Set.Elem.{u1} R s), Exists.{1} Nat (fun (n : Nat) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Subtype.val.{succ u1} R (fun (x : R) => Membership.mem.{u1, u1} R (Set.{u1} R) (Set.instMembershipSet.{u1} R) x s) r) n) x) M')) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x M'))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_of_span_eq_top_of_smul_pow_mem Submodule.mem_of_span_eq_top_of_smul_pow_memₓ'. -/
 /-- Given `s`, a generating set of `R`, to check that an `x : M` falls in a
 submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `n` for each `r : s`. -/
 theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤)
@@ -285,6 +451,12 @@ theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs
 
 variable {M' : Type w} [AddCommMonoid M'] [Module R M']
 
+/- warning: submodule.map_smul'' -> Submodule.map_smul'' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N)) (SMul.smul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSmul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.semilinearMapClass.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) {M' : Type.{u3}} [_inst_4 : AddCommMonoid.{u3} M'] [_inst_5 : Module.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (f : LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5), Eq.{succ u3} (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N)) (HSMul.hSMul.{u1, u3, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (instHSMul.{u1, u3} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u3} R M' (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_5) (Submodule.hasSmul'.{u1, u3} R M' _inst_1 _inst_4 _inst_5)) I (Submodule.map.{u1, u1, u2, u3, max u2 u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomSurjective.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearMap.{u1, u1, u2, u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) M M' _inst_2 _inst_4 _inst_3 _inst_5) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u3} R R M M' (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_4 _inst_3 _inst_5 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f N))
+Case conversion may be inaccurate. Consider using '#align submodule.map_smul'' Submodule.map_smul''ₓ'. -/
 theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
   le_antisymm
       (map_le_iff_le_comap.2 <|
@@ -298,6 +470,12 @@ theorem map_smul'' (f : M →ₗ[R] M') : (I • N).map f = I • N.map f :=
 
 variable {I}
 
+/- warning: submodule.mem_smul_span -> Submodule.mem_smul_span is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Set.{u2} M} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.unionᵢ.{u2, succ u1} M R (fun (a : R) => Set.unionᵢ.{u2, 0} M (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 I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) a I) => Set.unionᵢ.{u2, succ u2} M M (fun (b : M) => Set.unionᵢ.{u2, 0} M (Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) b s) (fun (H : Membership.Mem.{u2, u2} M (Set.{u2} M) (Set.hasMem.{u2} M) b s) => Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) a b))))))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Set.{u2} M} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 s))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.unionᵢ.{u2, succ u1} M R (fun (a : R) => Set.unionᵢ.{u2, 0} M (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.instSetLikeSubmodule.{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 I) (fun (H : Membership.mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.instSetLikeSubmodule.{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 I) => Set.unionᵢ.{u2, succ u2} M M (fun (b : M) => Set.unionᵢ.{u2, 0} M (Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) b s) (fun (H : Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) b s) => Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2)) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3))))) a b))))))))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_span Submodule.mem_smul_spanₓ'. -/
 theorem mem_smul_span {s : Set M} {x : M} :
     x ∈ I • Submodule.span R s ↔ x ∈ Submodule.span R (⋃ (a ∈ I) (b ∈ s), ({a • b} : Set M)) := by
   rw [← I.span_eq, Submodule.span_smul_span, I.span_eq] <;> rfl
@@ -305,6 +483,12 @@ theorem mem_smul_span {s : Set M} {x : M} :
 
 variable (I)
 
+/- warning: submodule.mem_ideal_smul_span_iff_exists_sum -> Submodule.mem_ideal_smul_span_iff_exists_sum is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.range.{u2, succ u3} M ι f)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : ι), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => ι -> R) (Finsupp.coeFun.{u3, u1} ι R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} ι R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : ι) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f i))) x)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.range.{u3, succ u1} M ι f)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : ι), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => R) _x) (Finsupp.funLike.{u1, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} ι R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : ι) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f i))) x)))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sumₓ'. -/
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
 theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M) :
@@ -334,11 +518,23 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
     rw [Finsupp.sum_smul_index, Finsupp.smul_sum] <;> intros <;> simp only [zero_smul, mul_smul]
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
 
+/- warning: submodule.mem_ideal_smul_span_iff_exists_sum' -> Submodule.mem_ideal_smul_span_iff_exists_sum' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) {ι : Type.{u3}} (s : Set.{u3} ι) (f : ι -> M) (x : M), Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I (Submodule.span.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 (Set.image.{u3, u2} ι M f s)))) (Exists.{max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (a : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => Exists.{0} (forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) (fun (ha : forall (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s), 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)))) (coeFn.{max (succ u3) (succ u1), max (succ u3) (succ u1)} (Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (fun (_x : Finsupp.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) => (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) -> R) (Finsupp.coeFun.{u3, u1} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) a i) I) => Eq.{succ u2} M (Finsupp.sum.{u3, u1, u2} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) R M (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) _inst_2 a (fun (i : coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) (c : R) => SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_2))) (Module.toMulActionWithZero.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)))) c (f ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Set.{u3} ι) Type.{u3} (Set.hasCoeToSort.{u3} ι) s) ι (coeSubtype.{succ u3} ι (fun (x : ι) => Membership.Mem.{u3, u3} ι (Set.{u3} ι) (Set.hasMem.{u3} ι) x s))))) i)))) x)))
+but is expected to have type
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : AddCommMonoid.{u3} M] [_inst_3 : Module.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) {ι : Type.{u1}} (s : Set.{u1} ι) (f : ι -> M) (x : M), Iff (Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3)) x (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u2, u3} R M _inst_1 _inst_2 _inst_3)) I (Submodule.span.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3 (Set.image.{u1, u3} ι M f s)))) (Exists.{max (succ u2) (succ u1)} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (fun (a : Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) => Exists.{0} (forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) (fun (ha : forall (i : Set.Elem.{u1} ι s), Membership.mem.{u2, u2} ((fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) i) (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (Finsupp.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) (Set.Elem.{u1} ι s) (fun (_x : Set.Elem.{u1} ι s) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : Set.Elem.{u1} ι s) => R) _x) (Finsupp.funLike.{u1, u2} (Set.Elem.{u1} ι s) R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))) a i) I) => Eq.{succ u3} M (Finsupp.sum.{u1, u2, u3} (Set.Elem.{u1} ι s) R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) _inst_2 a (fun (i : Set.Elem.{u1} ι s) (c : R) => HSMul.hSMul.{u2, u3, u3} R M M (instHSMul.{u2, u3} R M (SMulZeroClass.toSMul.{u2, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} R M (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_2)) (Module.toMulActionWithZero.{u2, u3} R M (CommSemiring.toSemiring.{u2} R _inst_1) _inst_2 _inst_3))))) c (f (Subtype.val.{succ u1} ι (fun (x : ι) => Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) x s) i)))) x)))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'ₓ'. -/
 theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R)(ha : ∀ i, a i ∈ I), (a.Sum fun i c => c • f i) = x :=
   by rw [← Submodule.mem_ideal_smul_span_iff_exists_sum, ← Set.image_eq_range]
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
 
+/- warning: submodule.mem_smul_top_iff -> Submodule.mem_smul_top_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N), Iff (Membership.Mem.{u2, u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (Submodule.setLike.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) _inst_1 (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) I (Top.top.{u2} (Submodule.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasTop.{u1, u2} R (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.addCommMonoid.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) N) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.setLike.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N))))) x) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3) I N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} M] [_inst_3 : Module.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (N : Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)), Iff (Membership.mem.{u2, u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (Submodule.instSetLikeSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) x (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.hasSmul'.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) _inst_1 (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))) I (Top.top.{u2} (Submodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N)) (Submodule.instTopSubmodule.{u1, u2} R (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) x N)) (CommSemiring.toSemiring.{u1} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3 N))))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) N)) x) (HSMul.hSMul.{u1, u2, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (instHSMul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.{u1, u2} R M (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_3) (Submodule.hasSmul'.{u1, u2} R M _inst_1 _inst_2 _inst_3)) I N))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_smul_top_iff Submodule.mem_smul_top_iffₓ'. -/
 theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
     x ∈ I • (⊤ : Submodule R N) ↔ (x : M) ∈ I • N :=
   by
@@ -350,6 +546,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
   rfl
 #align submodule.mem_smul_top_iff Submodule.mem_smul_top_iff
 
+#print Submodule.smul_comap_le_comap_smul /-
 @[simp]
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
     I • S.comap f ≤ (I • S).comap f :=
@@ -359,6 +556,7 @@ theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I :
   rw [f.map_smul]
   exact Submodule.smul_mem_smul hr hx
 #align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smul
+-/
 
 end CommSemiring
 
@@ -368,25 +566,47 @@ variable [CommRing R] [AddCommGroup M] [Module R M]
 
 variable {N N₁ N₂ P P₁ P₂ : Submodule R M}
 
+#print Submodule.colon /-
 /-- `N.colon P` is the ideal of all elements `r : R` such that `r • P ⊆ N`. -/
 def colon (N P : Submodule R M) : Ideal R :=
   annihilator (P.map N.mkQ)
 #align submodule.colon Submodule.colon
+-/
 
+/- warning: submodule.mem_colon -> Submodule.mem_colon is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (forall (p : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) p P) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r p) N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (forall (p : M), (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) p P) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r p) N))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_colon Submodule.mem_colonₓ'. -/
 theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
   mem_annihilator.trans
     ⟨fun H p hp => (Quotient.mk_eq_zero N).1 (H (Quotient.mk p) (mem_map_of_mem hp)),
       fun H m ⟨p, hp, hpm⟩ => hpm ▸ N.mkQ.map_smul r p ▸ (Quotient.mk_eq_zero N).2 <| H p hp⟩
 #align submodule.mem_colon Submodule.mem_colon
 
+/- warning: submodule.mem_colon' -> Submodule.mem_colon' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.semilinearMapClass.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (SMul.smul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.hasSmul.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {P : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N P)) (LE.le.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Preorder.toLE.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) P (Submodule.comap.{u1, u1, u2, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, u2, u2} R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HSMul.hSMul.{u1, u2, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (instHSMul.{u1, u2} R (LinearMap.{u1, u1, u2, u2} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) M M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3) (LinearMap.instSMulLinearMap.{u1, u1, u1, u2, u2} R R R M M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 _inst_3 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (smulCommClass_self.{u1, u2} R M (CommRing.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r (LinearMap.id.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) N))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_colon' Submodule.mem_colon'ₓ'. -/
 theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
 
+#print Submodule.colon_mono /-
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun r hrnp =>
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
+-/
 
+/- warning: submodule.infi_colon_supr -> Submodule.infᵢ_colon_supᵢ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.hasInf.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] (ι₁ : Sort.{u3}) (f : ι₁ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (ι₂ : Sort.{u4}) (g : ι₂ -> (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (infᵢ.{u2, u3} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.instInfSetSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) ι₁ (fun (i : ι₁) => f i)) (supᵢ.{u2, u4} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (Submodule.completeLattice.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))) ι₂ (fun (j : ι₂) => g j))) (infᵢ.{u1, u3} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₁ (fun (i : ι₁) => infᵢ.{u1, u4} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instInfSetSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) ι₂ (fun (j : ι₂) => Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 (f i) (g j))))
+Case conversion may be inaccurate. Consider using '#align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢₓ'. -/
 /- ./././Mathport/Syntax/Translate/Expr.lean:107:6: warning: expanding binder group (i j) -/
 theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
     (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
@@ -402,6 +622,12 @@ theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι
                 this
 #align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢ
 
+/- warning: submodule.mem_colon_singleton -> Submodule.mem_colon_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {x : M} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) x)))) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.setLike.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (SMul.smul.{u1, u2} R M (SMulZeroClass.toHasSmul.{u1, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)))) r x) N)
+but is expected to have type
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : AddCommGroup.{u2} M] [_inst_3 : Module.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2)] {N : Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3} {x : M} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u2} R M _inst_1 _inst_2 _inst_3 N (Submodule.span.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3 (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) x)))) (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3) M (Submodule.instSetLikeSubmodule.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3)) (HSMul.hSMul.{u1, u2, u2} R M M (instHSMul.{u1, u2} R M (SMulZeroClass.toSMul.{u1, u2} R M (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} R M (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R M (Semiring.toMonoidWithZero.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NegZeroClass.toZero.{u2} M (SubNegZeroMonoid.toNegZeroClass.{u2} M (SubtractionMonoid.toSubNegZeroMonoid.{u2} M (SubtractionCommMonoid.toSubtractionMonoid.{u2} M (AddCommGroup.toDivisionAddCommMonoid.{u2} M _inst_2))))) (Module.toMulActionWithZero.{u1, u2} R M (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_2) _inst_3))))) r x) N)
+Case conversion may be inaccurate. Consider using '#align submodule.mem_colon_singleton Submodule.mem_colon_singletonₓ'. -/
 @[simp]
 theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     r ∈ N.colon (Submodule.span R {x}) ↔ r • x ∈ N :=
@@ -412,6 +638,12 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 
+/- warning: ideal.mem_colon_singleton -> Ideal.mem_colon_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) r (Submodule.colon.{u1, u1} R R _inst_1 (NonUnitalNonAssocRing.toAddCommGroup.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_1)))) r x) I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {x : R} {r : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{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))))) r (Submodule.colon.{u1, u1} R R _inst_1 (Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) I (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Membership.mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R _inst_1))))) r x) I)
+Case conversion may be inaccurate. Consider using '#align ideal.mem_colon_singleton Ideal.mem_colon_singletonₓ'. -/
 @[simp]
 theorem Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
     r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
@@ -428,16 +660,34 @@ section Add
 
 variable {R : Type u} [Semiring R]
 
+/- warning: ideal.add_eq_sup -> Ideal.add_eq_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (HAdd.hAdd.{u1, u1, u1} (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (instHAdd.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toHasAdd.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (HAdd.hAdd.{u1, u1, u1} (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (Ideal.{u1} R _inst_1) (instHAdd.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toAdd.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)
+Case conversion may be inaccurate. Consider using '#align ideal.add_eq_sup Ideal.add_eq_supₓ'. -/
 @[simp]
 theorem add_eq_sup {I J : Ideal R} : I + J = I ⊔ J :=
   rfl
 #align ideal.add_eq_sup Ideal.add_eq_sup
 
+/- warning: ideal.zero_eq_bot -> Ideal.zero_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R _inst_1) (OfNat.ofNat.{u1} (Ideal.{u1} R _inst_1) 0 (OfNat.mk.{u1} (Ideal.{u1} R _inst_1) 0 (Zero.zero.{u1} (Ideal.{u1} R _inst_1) (AddZeroClass.toHasZero.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toAddZeroClass.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R _inst_1) (OfNat.ofNat.{u1} (Ideal.{u1} R _inst_1) 0 (Zero.toOfNat0.{u1} (Ideal.{u1} R _inst_1) (AddMonoid.toZero.{u1} (Ideal.{u1} R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (Ideal.{u1} R _inst_1) (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.instBotSubmodule.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align ideal.zero_eq_bot Ideal.zero_eq_botₓ'. -/
 @[simp]
 theorem zero_eq_bot : (0 : Ideal R) = ⊥ :=
   rfl
 #align ideal.zero_eq_bot Ideal.zero_eq_bot
 
+/- warning: ideal.sum_eq_sup -> Ideal.sum_eq_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Finset.sum.{u1, u2} (Ideal.{u1} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f) (Finset.sup.{u1, u2} (Ideal.{u1} R _inst_1) ι (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (Submodule.orderBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) s f)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Semiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> (Ideal.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Finset.sum.{u2, u1} (Ideal.{u2} R _inst_1) ι (Submodule.pointwiseAddCommMonoid.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f) (Finset.sup.{u2, u1} (Ideal.{u2} R _inst_1) ι (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) s f)
+Case conversion may be inaccurate. Consider using '#align ideal.sum_eq_sup Ideal.sum_eq_supₓ'. -/
 @[simp]
 theorem sum_eq_sup {ι : Type _} (s : Finset ι) (f : ι → Ideal R) : s.Sum f = s.sup f :=
   rfl
@@ -454,22 +704,52 @@ variable {I J K L : Ideal R}
 instance : Mul (Ideal R) :=
   ⟨(· • ·)⟩
 
+/- warning: ideal.one_eq_top -> Ideal.one_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OfNat.ofNat.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (OfNat.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (One.one.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.one.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (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))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (OfNat.ofNat.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) 1 (One.toOfNat1.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.one.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (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))))
+Case conversion may be inaccurate. Consider using '#align ideal.one_eq_top Ideal.one_eq_topₓ'. -/
 @[simp]
 theorem one_eq_top : (1 : Ideal R) = ⊤ := by erw [Submodule.one_eq_range, LinearMap.range_id]
 #align ideal.one_eq_top Ideal.one_eq_top
 
+/- warning: ideal.mul_mem_mul -> Ideal.mul_mem_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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.instSetLikeSubmodule.{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)))) r I) -> (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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul Ideal.mul_mem_mulₓ'. -/
 theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
   Submodule.smul_mem_smul hr hs
 #align ideal.mul_mem_mul Ideal.mul_mem_mul
 
+/- warning: ideal.mul_mem_mul_rev -> Ideal.mul_mem_mul_rev is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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)))) r I) -> (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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {r : R} {s : 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.instSetLikeSubmodule.{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)))) r I) -> (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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) s r) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_revₓ'. -/
 theorem mul_mem_mul_rev {r s} (hr : r ∈ I) (hs : s ∈ J) : s * r ∈ I * J :=
   mul_comm r s ▸ mul_mem_mul hr hs
 #align ideal.mul_mem_mul_rev Ideal.mul_mem_mul_rev
 
+/- warning: ideal.pow_mem_pow -> Ideal.pow_mem_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : 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)))) x I) -> (forall (n : Nat), 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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : 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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x I) -> (forall (n : Nat), 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.instSetLikeSubmodule.{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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x n) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n))
+Case conversion may be inaccurate. Consider using '#align ideal.pow_mem_pow Ideal.pow_mem_powₓ'. -/
 theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
   Submodule.pow_mem_pow _ hx _
 #align ideal.pow_mem_pow Ideal.pow_mem_pow
 
+/- warning: ideal.prod_mem_prod -> Ideal.prod_mem_prod is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} {s : Finset.{u2} ι} {I : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (x i) (I i))) -> (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)))) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => I i)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} {s : Finset.{u1} ι} {I : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {x : ι -> R}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (x i) (I i))) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => x i)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => I i)))
+Case conversion may be inaccurate. Consider using '#align ideal.prod_mem_prod Ideal.prod_mem_prodₓ'. -/
 theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
@@ -484,33 +764,67 @@ theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι
           (IH fun i hi => h i <| Finset.mem_insert_of_mem hi)
 #align ideal.prod_mem_prod Ideal.prod_mem_prod
 
+/- warning: ideal.mul_le -> Ideal.mul_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) K) (forall (r : 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)))) r I) -> (forall (s : 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)))) s J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s) K)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) K) (forall (r : 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.instSetLikeSubmodule.{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)))) r I) -> (forall (s : 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.instSetLikeSubmodule.{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)))) s J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s) K)))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_le Ideal.mul_leₓ'. -/
 theorem mul_le : I * J ≤ K ↔ ∀ r ∈ I, ∀ s ∈ J, r * s ∈ K :=
   Submodule.smul_le
 #align ideal.mul_le Ideal.mul_le
 
+#print Ideal.mul_le_left /-
 theorem mul_le_left : I * J ≤ J :=
   Ideal.mul_le.2 fun r hr s => J.mul_mem_left _
 #align ideal.mul_le_left Ideal.mul_le_left
+-/
 
+#print Ideal.mul_le_right /-
 theorem mul_le_right : I * J ≤ I :=
   Ideal.mul_le.2 fun r hr s hs => I.mul_mem_right _ hr
 #align ideal.mul_le_right Ideal.mul_le_right
+-/
 
+/- warning: ideal.sup_mul_right_self -> Ideal.sup_mul_right_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J)) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J)) I
+Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_right_self Ideal.sup_mul_right_selfₓ'. -/
 @[simp]
 theorem sup_mul_right_self : I ⊔ I * J = I :=
   sup_eq_left.2 Ideal.mul_le_right
 #align ideal.sup_mul_right_self Ideal.sup_mul_right_self
 
+/- warning: ideal.sup_mul_left_self -> Ideal.sup_mul_left_self is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J I)) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J I)) I
+Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_left_self Ideal.sup_mul_left_selfₓ'. -/
 @[simp]
 theorem sup_mul_left_self : I ⊔ J * I = I :=
   sup_eq_left.2 Ideal.mul_le_left
 #align ideal.sup_mul_left_self Ideal.sup_mul_left_self
 
+/- warning: ideal.mul_right_self_sup -> Ideal.mul_right_self_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) I) I
+Case conversion may be inaccurate. Consider using '#align ideal.mul_right_self_sup Ideal.mul_right_self_supₓ'. -/
 @[simp]
 theorem mul_right_self_sup : I * J ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_right
 #align ideal.mul_right_self_sup Ideal.mul_right_self_sup
 
+/- warning: ideal.mul_left_self_sup -> Ideal.mul_left_self_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J I) I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J I) I) I
+Case conversion may be inaccurate. Consider using '#align ideal.mul_left_self_sup Ideal.mul_left_self_supₓ'. -/
 @[simp]
 theorem mul_left_self_sup : J * I ⊔ I = I :=
   sup_eq_right.2 Ideal.mul_le_left
@@ -518,27 +832,45 @@ theorem mul_left_self_sup : J * I ⊔ I = I :=
 
 variable (I J K)
 
+#print Ideal.mul_comm /-
 protected theorem mul_comm : I * J = J * I :=
   le_antisymm (mul_le.2 fun r hrI s hsJ => mul_mem_mul_rev hsJ hrI)
     (mul_le.2 fun r hrJ s hsI => mul_mem_mul_rev hsI hrJ)
 #align ideal.mul_comm Ideal.mul_comm
+-/
 
+#print Ideal.mul_assoc /-
 protected theorem mul_assoc : I * J * K = I * (J * K) :=
   Submodule.smul_assoc I J K
 #align ideal.mul_assoc Ideal.mul_assoc
+-/
 
+#print Ideal.span_mul_span /-
 theorem span_mul_span (S T : Set R) : span S * span T = span (⋃ (s ∈ S) (t ∈ T), {s * t}) :=
   Submodule.span_smul_span S T
 #align ideal.span_mul_span Ideal.span_mul_span
+-/
 
 variable {I J K}
 
+/- warning: ideal.span_mul_span' -> Ideal.span_mul_span' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Set.{u1} R) (T : Set.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) S) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) T)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Set.{u1} R) (Set.{u1} R) (Set.{u1} R) (instHMul.{u1} (Set.{u1} R) (Set.mul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) S T))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (S : Set.{u1} R) (T : Set.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) S) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) T)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (HMul.hMul.{u1, u1, u1} (Set.{u1} R) (Set.{u1} R) (Set.{u1} R) (instHMul.{u1} (Set.{u1} R) (Set.mul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) S T))
+Case conversion may be inaccurate. Consider using '#align ideal.span_mul_span' Ideal.span_mul_span'ₓ'. -/
 theorem span_mul_span' (S T : Set R) : span S * span T = span (S * T) :=
   by
   unfold span
   rw [Submodule.span_mul_span]
 #align ideal.span_mul_span' Ideal.span_mul_span'
 
+/- warning: ideal.span_singleton_mul_span_singleton -> Ideal.span_singleton_mul_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (r : R) (s : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) s))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) r s)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (r : R) (s : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) s))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) r s)))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singletonₓ'. -/
 theorem span_singleton_mul_span_singleton (r s : R) :
     span {r} * span {s} = (span {r * s} : Ideal R) :=
   by
@@ -546,26 +878,52 @@ theorem span_singleton_mul_span_singleton (r s : R) :
   rw [Submodule.span_mul_span, Set.singleton_mul_singleton]
 #align ideal.span_singleton_mul_span_singleton Ideal.span_singleton_mul_span_singleton
 
+#print Ideal.span_singleton_pow /-
 theorem span_singleton_pow (s : R) (n : ℕ) : span {s} ^ n = (span {s ^ n} : Ideal R) :=
   by
   induction' n with n ih; · simp [Set.singleton_one]
   simp only [pow_succ, ih, span_singleton_mul_span_singleton]
 #align ideal.span_singleton_pow Ideal.span_singleton_pow
+-/
 
+/- warning: ideal.mem_mul_span_singleton -> Ideal.mem_mul_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) z y) x)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))) (Exists.{succ u1} R (fun (z : R) => And (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.instSetLikeSubmodule.{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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) z y) x)))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singletonₓ'. -/
 theorem mem_mul_span_singleton {x y : R} {I : Ideal R} : x ∈ I * span {y} ↔ ∃ z ∈ I, z * y = x :=
   Submodule.mem_smul_span_singleton
 #align ideal.mem_mul_span_singleton Ideal.mem_mul_span_singleton
 
+/- warning: ideal.mem_span_singleton_mul -> Ideal.mem_span_singleton_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => Exists.{0} (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)))) z I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) z I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y z) x)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) I)) (Exists.{succ u1} R (fun (z : R) => And (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.instSetLikeSubmodule.{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)))) z I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y z) x)))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mulₓ'. -/
 theorem mem_span_singleton_mul {x y : R} {I : Ideal R} : x ∈ span {y} * I ↔ ∃ z ∈ I, y * z = x := by
   simp only [mul_comm, mem_mul_span_singleton]
 #align ideal.mem_span_singleton_mul Ideal.mem_span_singleton_mul
 
+/- warning: ideal.le_span_singleton_mul_iff -> Ideal.le_span_singleton_mul_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI))))
+Case conversion may be inaccurate. Consider using '#align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iffₓ'. -/
 theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
     I ≤ span {x} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI :=
   show (∀ {zI} (hzI : zI ∈ I), zI ∈ span {x} * J) ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI by
     simp only [mem_span_singleton_mul]
 #align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iff
 
+/- warning: ideal.span_singleton_mul_le_iff -> Ideal.span_singleton_mul_le_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) J) (forall (z : 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)))) z I) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) J) (forall (z : 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.instSetLikeSubmodule.{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)))) z I) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) J))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iffₓ'. -/
 theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J :=
   by
   simp only [mul_le, mem_span_singleton_mul, mem_span_singleton]
@@ -577,63 +935,135 @@ theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J 
     exact J.mul_mem_left _ (h zI hzI)
 #align ideal.span_singleton_mul_le_iff Ideal.span_singleton_mul_le_iff
 
+/- warning: ideal.span_singleton_mul_le_span_singleton_mul -> Ideal.span_singleton_mul_le_span_singleton_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ)))))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
     span {x} * I ≤ span {y} * J ↔ ∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ := by
   simp only [span_singleton_mul_le_iff, mem_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_le_span_singleton_mul Ideal.span_singleton_mul_le_span_singleton_mul
 
+/- warning: ideal.span_singleton_mul_right_mono -> Ideal.span_singleton_mul_right_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (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))))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_monoₓ'. -/
 theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I ≤ span {x} * J ↔ I ≤ J := by
   simp_rw [span_singleton_mul_le_span_singleton_mul, mul_right_inj' hx, exists_prop,
     exists_eq_right', SetLike.le_def]
 #align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_mono
 
+/- warning: ideal.span_singleton_mul_left_mono -> Ideal.span_singleton_mul_left_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (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)) (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (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))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (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))))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_monoₓ'. -/
 theorem span_singleton_mul_left_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} ≤ J * span {x} ↔ I ≤ J := by
   simpa only [mul_comm I, mul_comm J] using span_singleton_mul_right_mono hx
 #align ideal.span_singleton_mul_left_mono Ideal.span_singleton_mul_left_mono
 
+/- warning: ideal.span_singleton_mul_right_inj -> Ideal.span_singleton_mul_right_inj is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_inj Ideal.span_singleton_mul_right_injₓ'. -/
 theorem span_singleton_mul_right_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I = span {x} * J ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_right_mono hx]
 #align ideal.span_singleton_mul_right_inj Ideal.span_singleton_mul_right_inj
 
+/- warning: ideal.span_singleton_mul_left_inj -> Ideal.span_singleton_mul_left_inj is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_injₓ'. -/
 theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
     I * span {x} = J * span {x} ↔ I = J := by
   simp only [le_antisymm_iff, span_singleton_mul_left_mono hx]
 #align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_inj
 
+/- warning: ideal.span_singleton_mul_right_injective -> Ideal.span_singleton_mul_right_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ((fun (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7983 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7985 : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7983 x._@.Mathlib.RingTheory.Ideal.Operations._hyg.7985) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injectiveₓ'. -/
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
   (span_singleton_mul_right_inj hx).mp
 #align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injective
 
+/- warning: ideal.span_singleton_mul_left_injective -> Ideal.span_singleton_mul_left_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : IsDomain.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)] {x : R}, (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} R (IsDomain.toCancelCommMonoidWithZero.{u1} R _inst_1 _inst_2)))))) -> (Function.Injective.{succ u1, succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_injective Ideal.span_singleton_mul_left_injectiveₓ'. -/
 theorem span_singleton_mul_left_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
     Function.Injective fun I : Ideal R => I * span {x} := fun _ _ =>
   (span_singleton_mul_left_inj hx).mp
 #align ideal.span_singleton_mul_left_injective Ideal.span_singleton_mul_left_injective
 
+/- warning: ideal.eq_span_singleton_mul -> Ideal.eq_span_singleton_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zJ) zI)))) (forall (z : 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)))) z J) -> (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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z) I)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) J)) (And (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zJ) zI)))) (forall (z : 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.instSetLikeSubmodule.{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)))) z J) -> (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.instSetLikeSubmodule.{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)))) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z) I)))
+Case conversion may be inaccurate. Consider using '#align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mulₓ'. -/
 theorem eq_span_singleton_mul {x : R} (I J : Ideal R) :
     I = span {x} * J ↔ (∀ zI ∈ I, ∃ zJ ∈ J, x * zJ = zI) ∧ ∀ z ∈ J, x * z ∈ I := by
   simp only [le_antisymm_iff, le_span_singleton_mul_iff, span_singleton_mul_le_iff]
 #align ideal.eq_span_singleton_mul Ideal.eq_span_singleton_mul
 
+/- warning: ideal.span_singleton_mul_eq_span_singleton_mul -> Ideal.span_singleton_mul_eq_span_singleton_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)) J)) (And (forall (zI : 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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => Exists.{0} (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)))) zJ J) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zJ J) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))) (forall (zJ : 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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => Exists.{0} (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)))) zI I) (fun (H : Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) zI I) => Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) y zJ))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {x : R} {y : R} (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) I) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)) J)) (And (forall (zI : 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.instSetLikeSubmodule.{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)))) zI I) -> (Exists.{succ u1} R (fun (zJ : R) => And (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.instSetLikeSubmodule.{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)))) zJ J) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))) (forall (zJ : 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.instSetLikeSubmodule.{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)))) zJ J) -> (Exists.{succ u1} R (fun (zI : R) => And (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.instSetLikeSubmodule.{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)))) zI I) (Eq.{succ u1} R (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x zI) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) y zJ))))))
+Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mulₓ'. -/
 theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
     span {x} * I = span {y} * J ↔
       (∀ zI ∈ I, ∃ zJ ∈ J, x * zI = y * zJ) ∧ ∀ zJ ∈ J, ∃ zI ∈ I, x * zI = y * zJ :=
   by simp only [le_antisymm_iff, span_singleton_mul_le_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mul
 
+/- warning: ideal.prod_span -> Ideal.prod_span is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> (Set.{u1} R)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (I i))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Finset.prod.{u1, u2} (Set.{u1} R) ι (Set.commMonoid.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1)) s (fun (i : ι) => I i)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> (Set.{u2} R)), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (I i))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Finset.prod.{u2, u1} (Set.{u2} R) ι (Set.commMonoid.{u2} R (CommSemiring.toCommMonoid.{u2} R _inst_1)) s (fun (i : ι) => I i)))
+Case conversion may be inaccurate. Consider using '#align ideal.prod_span Ideal.prod_spanₓ'. -/
 theorem prod_span {ι : Type _} (s : Finset ι) (I : ι → Set R) :
     (∏ i in s, Ideal.span (I i)) = Ideal.span (∏ i in s, I i) :=
   Submodule.prod_span s I
 #align ideal.prod_span Ideal.prod_span
 
+/- warning: ideal.prod_span_singleton -> Ideal.prod_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => I i))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i))))
+Case conversion may be inaccurate. Consider using '#align ideal.prod_span_singleton Ideal.prod_span_singletonₓ'. -/
 theorem prod_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R) :
     (∏ i in s, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
   Submodule.prod_span_singleton s I
 #align ideal.prod_span_singleton Ideal.prod_span_singleton
 
+/- warning: ideal.multiset_prod_span_singleton -> Ideal.multiset_prod_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (m : Multiset.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Multiset.map.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (x : R) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) m)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Multiset.prod.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) m)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (m : Multiset.{u1} R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Multiset.map.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (x : R) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) m)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (Multiset.prod.{u1} R (CommSemiring.toCommMonoid.{u1} R _inst_1) m)))
+Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singletonₓ'. -/
 @[simp]
 theorem multiset_prod_span_singleton (m : Multiset R) :
     (m.map fun x => Ideal.span {x}).Prod = Ideal.span ({Multiset.prod m} : Set R) :=
@@ -641,6 +1071,12 @@ theorem multiset_prod_span_singleton (m : Multiset R) :
     simp only [Multiset.map_cons, Multiset.prod_cons, ih, ← Ideal.span_singleton_mul_span_singleton]
 #align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singleton
 
+/- warning: ideal.finset_inf_span_singleton -> Ideal.finset_inf_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} (s : Finset.{u2} ι) (I : ι -> R), (Set.Pairwise.{u2} ι ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s) (Function.onFun.{succ u2, succ u1, 1} ι R Prop (IsCoprime.{u1} R _inst_1) I)) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) s (fun (i : ι) => I i)))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} (s : Finset.{u1} ι) (I : ι -> R), (Set.Pairwise.{u1} ι (Finset.toSet.{u1} ι s) (Function.onFun.{succ u1, succ u2, 1} ι R Prop (IsCoprime.{u2} R _inst_1) I)) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) s (fun (i : ι) => I i)))))
+Case conversion may be inaccurate. Consider using '#align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singletonₓ'. -/
 theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
     (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
     (s.inf fun i => Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
@@ -650,6 +1086,12 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
+/- warning: ideal.infi_span_singleton -> Ideal.infᵢ_span_singleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {ι : Type.{u2}} [_inst_2 : Fintype.{u2} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u2} ι i j) -> (IsCoprime.{u1} R _inst_1 (I i) (I j))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (I i)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (Finset.prod.{u1, u2} R ι (CommSemiring.toCommMonoid.{u1} R _inst_1) (Finset.univ.{u2} ι _inst_2) (fun (i : ι) => I i)))))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {ι : Type.{u1}} [_inst_2 : Fintype.{u1} ι] (I : ι -> R), (forall (i : ι) (j : ι), (Ne.{succ u1} ι i j) -> (IsCoprime.{u2} R _inst_1 (I i) (I j))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (I i)))) (Ideal.span.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) (Singleton.singleton.{u2, u2} R (Set.{u2} R) (Set.instSingletonSet.{u2} R) (Finset.prod.{u2, u1} R ι (CommSemiring.toCommMonoid.{u2} R _inst_1) (Finset.univ.{u1} ι _inst_2) (fun (i : ι) => I i)))))
+Case conversion may be inaccurate. Consider using '#align ideal.infi_span_singleton Ideal.infᵢ_span_singletonₓ'. -/
 theorem infᵢ_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (hij : i ≠ j), IsCoprime (I i) (I j)) :
     (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} :=
@@ -658,6 +1100,12 @@ theorem infᵢ_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.infᵢ_span_singleton
 
+/- warning: ideal.sup_eq_top_iff_is_coprime -> Ideal.sup_eq_top_iff_isCoprime is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] (x : R) (y : R), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.idemSemiring.{u1, u1} R _inst_2 R (CommSemiring.toSemiring.{u1} R _inst_2) (Algebra.id.{u1} R _inst_2)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasTop.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (IsCoprime.{u1} R _inst_2 x y)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] (x : R) (y : R), Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_2 R _inst_2 (Algebra.id.{u1} R _inst_2)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y))) (Top.top.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instTopSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (IsCoprime.{u1} R _inst_2 x y)
+Case conversion may be inaccurate. Consider using '#align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprimeₓ'. -/
 theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y :=
   by
@@ -672,10 +1120,18 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
 
+#print Ideal.mul_le_inf /-
 theorem mul_le_inf : I * J ≤ I ⊓ J :=
   mul_le.2 fun r hri s hsj => ⟨I.mul_mem_right s hri, J.mul_mem_left r hsj⟩
 #align ideal.mul_le_inf Ideal.mul_le_inf
+-/
 
+/- warning: ideal.multiset_prod_le_inf -> Ideal.multiset_prod_le_inf is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s) (Multiset.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{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))) s)
+Case conversion may be inaccurate. Consider using '#align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_infₓ'. -/
 theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
   classical
     refine' s.induction_on _ _
@@ -686,10 +1142,22 @@ theorem multiset_prod_le_inf {s : Multiset (Ideal R)} : s.Prod ≤ s.inf := by
     exact le_trans mul_le_inf (inf_le_inf le_rfl ih)
 #align ideal.multiset_prod_le_inf Ideal.multiset_prod_le_inf
 
+/- warning: ideal.prod_le_inf -> Ideal.prod_le_inf is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{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)) (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s f) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f)
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s f) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f)
+Case conversion may be inaccurate. Consider using '#align ideal.prod_le_inf Ideal.prod_le_infₓ'. -/
 theorem prod_le_inf {s : Finset ι} {f : ι → Ideal R} : s.Prod f ≤ s.inf f :=
   multiset_prod_le_inf
 #align ideal.prod_le_inf Ideal.prod_le_inf
 
+/- warning: ideal.mul_eq_inf_of_coprime -> Ideal.mul_eq_inf_of_coprime is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I J) (Inf.inf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprimeₓ'. -/
 theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
   le_antisymm mul_le_inf fun r ⟨hri, hrj⟩ =>
     let ⟨s, hsi, t, htj, hst⟩ := Submodule.mem_sup.1 ((eq_top_iff_one _).1 h)
@@ -698,6 +1166,12 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
         (mul_add r s t).symm ▸ Ideal.add_mem (I * J) (mul_mem_mul_rev hsi hrj) (mul_mem_mul hri htj)
 #align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprime
 
+/- warning: ideal.sup_mul_eq_of_coprime_left -> Ideal.sup_mul_eq_of_coprime_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I K))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I K))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_eq_of_coprime_left Ideal.sup_mul_eq_of_coprime_leftₓ'. -/
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
     by
@@ -707,30 +1181,60 @@ theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :
     rw [add_assoc, ← add_mul, h, one_mul, hi]
 #align ideal.sup_mul_eq_of_coprime_left Ideal.sup_mul_eq_of_coprime_left
 
+/- warning: ideal.sup_mul_eq_of_coprime_right -> Ideal.sup_mul_eq_of_coprime_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I K) (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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I K) (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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_rightₓ'. -/
 theorem sup_mul_eq_of_coprime_right (h : I ⊔ K = ⊤) : I ⊔ J * K = I ⊔ J :=
   by
   rw [mul_comm]
   exact sup_mul_eq_of_coprime_left h
 #align ideal.sup_mul_eq_of_coprime_right Ideal.sup_mul_eq_of_coprime_right
 
+/- warning: ideal.mul_sup_eq_of_coprime_left -> Ideal.mul_sup_eq_of_coprime_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) K J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K J))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_leftₓ'. -/
 theorem mul_sup_eq_of_coprime_left (h : I ⊔ J = ⊤) : I * K ⊔ J = K ⊔ J :=
   by
   rw [sup_comm] at h
   rw [sup_comm, sup_mul_eq_of_coprime_left h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_left Ideal.mul_sup_eq_of_coprime_left
 
+/- warning: ideal.mul_sup_eq_of_coprime_right -> Ideal.mul_sup_eq_of_coprime_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) K 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) K 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) J) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_rightₓ'. -/
 theorem mul_sup_eq_of_coprime_right (h : K ⊔ J = ⊤) : I * K ⊔ J = I ⊔ J :=
   by
   rw [sup_comm] at h
   rw [sup_comm, sup_mul_eq_of_coprime_right h, sup_comm]
 #align ideal.mul_sup_eq_of_coprime_right Ideal.mul_sup_eq_of_coprime_right
 
+/- warning: ideal.sup_prod_eq_top -> Ideal.sup_prod_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => J i))) (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)))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => J i))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_prod_eq_top Ideal.sup_prod_eq_topₓ'. -/
 theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ∏ i in s, J i) = ⊤ :=
   Finset.prod_induction _ (fun J => I ⊔ J = ⊤)
     (fun J K hJ hK => (sup_mul_eq_of_coprime_left hJ).trans hK) (by rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
 
+/- warning: ideal.sup_infi_eq_top -> Ideal.sup_infᵢ_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (J i)) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => infᵢ.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i)))) (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)))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (J i)) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) I (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => infᵢ.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i)))) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_infi_eq_top Ideal.sup_infᵢ_eq_topₓ'. -/
 theorem sup_infᵢ_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ⨅ i ∈ s, J i) = ⊤ :=
   eq_top_iff.mpr <|
@@ -738,49 +1242,95 @@ theorem sup_infᵢ_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈
       sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_infᵢ _ _) _
 #align ideal.sup_infi_eq_top Ideal.sup_infᵢ_eq_top
 
+/- warning: ideal.prod_sup_eq_top -> Ideal.prod_sup_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemCommSemiring.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) s (fun (i : ι) => J i)) I) (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)))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) s (fun (i : ι) => J i)) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.prod_sup_eq_top Ideal.prod_sup_eq_topₓ'. -/
 theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (∏ i in s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
 
+/- warning: ideal.infi_sup_eq_top -> Ideal.infᵢ_sup_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {s : Finset.{u2} ι} {J : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (J i) I) (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)))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (infᵢ.{u1, succ u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) ι (fun (i : ι) => infᵢ.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => J i))) I) (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)))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)} {s : Finset.{u1} ι} {J : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (J i) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) -> (Eq.{succ u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Sup.sup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u2, u2} R _inst_1 R _inst_1 (Algebra.id.{u2} R _inst_1)))) (infᵢ.{u2, succ u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) ι (fun (i : ι) => infᵢ.{u2, 0} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instInfSetSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (fun (H : Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) => J i))) I) (Top.top.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.instTopSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ideal.infi_sup_eq_top Ideal.infᵢ_sup_eq_topₓ'. -/
 theorem infᵢ_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_infᵢ_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.infi_sup_eq_top Ideal.infᵢ_sup_eq_top
 
+/- warning: ideal.sup_pow_eq_top -> Ideal.sup_pow_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_pow_eq_top Ideal.sup_pow_eq_topₓ'. -/
 theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ :=
   by
   rw [← Finset.card_range n, ← Finset.prod_const]
   exact sup_prod_eq_top fun _ _ => h
 #align ideal.sup_pow_eq_top Ideal.sup_pow_eq_top
 
+/- warning: ideal.pow_sup_eq_top -> Ideal.pow_sup_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) 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)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I n) 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)))))
+Case conversion may be inaccurate. Consider using '#align ideal.pow_sup_eq_top Ideal.pow_sup_eq_topₓ'. -/
 theorem pow_sup_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ^ n ⊔ J = ⊤ :=
   by
   rw [← Finset.card_range n, ← Finset.prod_const]
   exact prod_sup_eq_top fun _ _ => h
 #align ideal.pow_sup_eq_top Ideal.pow_sup_eq_top
 
+/- warning: ideal.pow_sup_pow_eq_top -> Ideal.pow_sup_pow_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {m : Nat} {n : Nat}, (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I 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))))) -> (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) I m) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) J n)) (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)))))
+Case conversion may be inaccurate. Consider using '#align ideal.pow_sup_pow_eq_top Ideal.pow_sup_pow_eq_topₓ'. -/
 theorem pow_sup_pow_eq_top {m n : ℕ} (h : I ⊔ J = ⊤) : I ^ m ⊔ J ^ n = ⊤ :=
   sup_pow_eq_top (pow_sup_eq_top h)
 #align ideal.pow_sup_pow_eq_top Ideal.pow_sup_pow_eq_top
 
 variable (I)
 
+#print Ideal.mul_bot /-
 @[simp]
 theorem mul_bot : I * ⊥ = ⊥ :=
   Submodule.smul_bot I
 #align ideal.mul_bot Ideal.mul_bot
+-/
 
+/- warning: ideal.bot_mul -> Ideal.bot_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (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)))) I) (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] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (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)))) I) (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 ideal.bot_mul Ideal.bot_mulₓ'. -/
 @[simp]
 theorem bot_mul : ⊥ * I = ⊥ :=
   Submodule.bot_smul I
 #align ideal.bot_mul Ideal.bot_mul
 
+#print Ideal.mul_top /-
 @[simp]
 theorem mul_top : I * ⊤ = I :=
   Ideal.mul_comm ⊤ I ▸ Submodule.top_smul I
 #align ideal.mul_top Ideal.mul_top
+-/
 
+/- warning: ideal.top_mul -> Ideal.top_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (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)))) I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (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)))) I) I
+Case conversion may be inaccurate. Consider using '#align ideal.top_mul Ideal.top_mulₓ'. -/
 @[simp]
 theorem top_mul : ⊤ * I = I :=
   Submodule.top_smul I
@@ -788,44 +1338,63 @@ theorem top_mul : ⊤ * I = I :=
 
 variable {I}
 
+#print Ideal.mul_mono /-
 theorem mul_mono (hik : I ≤ K) (hjl : J ≤ L) : I * J ≤ K * L :=
   Submodule.smul_mono hik hjl
 #align ideal.mul_mono Ideal.mul_mono
+-/
 
+#print Ideal.mul_mono_left /-
 theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K :=
   Submodule.smul_mono_left h
 #align ideal.mul_mono_left Ideal.mul_mono_left
+-/
 
+#print Ideal.mul_mono_right /-
 theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K :=
   Submodule.smul_mono_right h
 #align ideal.mul_mono_right Ideal.mul_mono_right
+-/
 
 variable (I J K)
 
+#print Ideal.mul_sup /-
 theorem mul_sup : I * (J ⊔ K) = I * J ⊔ I * K :=
   Submodule.smul_sup I J K
 #align ideal.mul_sup Ideal.mul_sup
+-/
 
+/- warning: ideal.sup_mul -> Ideal.sup_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J) K) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) J K))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (K : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J) K) (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) I K) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) J K))
+Case conversion may be inaccurate. Consider using '#align ideal.sup_mul Ideal.sup_mulₓ'. -/
 theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
   Submodule.sup_smul I J K
 #align ideal.sup_mul Ideal.sup_mul
 
 variable {I J K}
 
+#print Ideal.pow_le_pow /-
 theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m :=
   by
   cases' Nat.exists_eq_add_of_le h with k hk
   rw [hk, pow_add]
   exact le_trans mul_le_inf inf_le_left
 #align ideal.pow_le_pow Ideal.pow_le_pow
+-/
 
+#print Ideal.pow_le_self /-
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
     
 #align ideal.pow_le_self Ideal.pow_le_self
+-/
 
+#print Ideal.pow_mono /-
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   by
   induction n
@@ -834,7 +1403,14 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n :=
   · rw [pow_succ, pow_succ]
     exact Ideal.mul_mono e n_ih
 #align ideal.pow_mono Ideal.pow_mono
+-/
 
+/- warning: ideal.mul_eq_bot -> Ideal.mul_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.hasMul.{u1} R _inst_2)) I J) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Or (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) J (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.instMulIdealToSemiring.{u1} R _inst_2)) I J) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Or (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) I (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) J (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align ideal.mul_eq_bot Ideal.mul_eq_botₓ'. -/
 theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
@@ -848,17 +1424,30 @@ theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
 instance {R : Type _} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
     where eq_zero_or_eq_zero_of_mul_eq_zero I J := mul_eq_bot.1
 
+/- warning: ideal.prod_eq_bot -> Ideal.prod_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.idemCommSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) => Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))] {s : Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))}, Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.prod.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_2) R (CommRing.toCommSemiring.{u1} R _inst_2) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))))) s) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))) (Exists.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (fun (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Multiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))) I s) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))))
+Case conversion may be inaccurate. Consider using '#align ideal.prod_eq_bot Ideal.prod_eq_botₓ'. -/
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 theorem prod_eq_bot {R : Type _} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
     s.Prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ :=
   prod_zero_iff_exists_zero
 #align ideal.prod_eq_bot Ideal.prod_eq_bot
 
+/- warning: ideal.span_pair_mul_span_pair -> Ideal.span_pair_mul_span_pair is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (w : R) (x : R) (y : R) (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.hasMul.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) w (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) x))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) y (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) z)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) w y) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) w z) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x y) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) x z))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (w : R) (x : R) (y : R) (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHMul.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instMulIdealToSemiring.{u1} R _inst_1)) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) w (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) x))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) y (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) z)))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) w y) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) w z) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x y) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x z))))))
+Case conversion may be inaccurate. Consider using '#align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pairₓ'. -/
 theorem span_pair_mul_span_pair (w x y z : R) :
     (span {w, x} : Ideal R) * span {y, z} = span {w * y, w * z, x * y, x * z} := by
   simp_rw [span_insert, sup_mul, mul_sup, span_singleton_mul_span_singleton, sup_assoc]
 #align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pair
 
+#print Ideal.radical /-
 /-- The radical of an ideal `I` consists of the elements `r` such that `r^n ∈ I` for some `n`. -/
 def radical (I : Ideal R) : Ideal R
     where
@@ -883,55 +1472,84 @@ def radical (I : Ideal R) : Ideal R
                 add_tsub_cancel_of_le hmc ▸ (pow_add x m (c - m)).symm ▸ I.mul_mem_right _ hxmi⟩
   smul_mem' := fun r s ⟨n, hsni⟩ => ⟨n, (mul_pow r s n).symm ▸ I.mul_mem_left (r ^ n) hsni⟩
 #align ideal.radical Ideal.radical
+-/
 
+#print Ideal.IsRadical /-
 /-- An ideal is radical if it contains its radical. -/
 def IsRadical (I : Ideal R) : Prop :=
   I.radical ≤ I
 #align ideal.is_radical Ideal.IsRadical
+-/
 
+#print Ideal.le_radical /-
 theorem le_radical : I ≤ radical I := fun r hri => ⟨1, (pow_one r).symm ▸ hri⟩
 #align ideal.le_radical Ideal.le_radical
+-/
 
+#print Ideal.radical_eq_iff /-
 /-- An ideal is radical iff it is equal to its radical. -/
 theorem radical_eq_iff : I.radical = I ↔ I.IsRadical := by
   rw [le_antisymm_iff, and_iff_left le_radical, is_radical]
 #align ideal.radical_eq_iff Ideal.radical_eq_iff
+-/
 
 alias radical_eq_iff ↔ _ is_radical.radical
 #align ideal.is_radical.radical Ideal.IsRadical.radical
 
 variable (R)
 
+/- warning: ideal.radical_top -> Ideal.radical_top is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (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))))) (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))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (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))))) (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))))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_top Ideal.radical_topₓ'. -/
 theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
   (eq_top_iff_one _).2 ⟨0, Submodule.mem_top⟩
 #align ideal.radical_top Ideal.radical_top
 
 variable {R}
 
+#print Ideal.radical_mono /-
 theorem radical_mono (H : I ≤ J) : radical I ≤ radical J := fun r ⟨n, hrni⟩ => ⟨n, H hrni⟩
 #align ideal.radical_mono Ideal.radical_mono
+-/
 
 variable (I)
 
+#print Ideal.radical_isRadical /-
 theorem radical_isRadical : (radical I).IsRadical := fun r ⟨n, k, hrnki⟩ =>
   ⟨n * k, (pow_mul r n k).symm ▸ hrnki⟩
 #align ideal.radical_is_radical Ideal.radical_isRadical
+-/
 
+#print Ideal.radical_idem /-
 @[simp]
 theorem radical_idem : radical (radical I) = radical I :=
   (radical_isRadical I).radical
 #align ideal.radical_idem Ideal.radical_idem
+-/
 
 variable {I}
 
+#print Ideal.IsRadical.radical_le_iff /-
 theorem IsRadical.radical_le_iff (hJ : J.IsRadical) : radical I ≤ J ↔ I ≤ J :=
   ⟨le_trans le_radical, fun h => hJ.radical ▸ radical_mono h⟩
 #align ideal.is_radical.radical_le_iff Ideal.IsRadical.radical_le_iff
+-/
 
+#print Ideal.radical_le_radical_iff /-
 theorem radical_le_radical_iff : radical I ≤ radical J ↔ I ≤ radical J :=
   (radical_isRadical J).radical_le_iff
 #align ideal.radical_le_radical_iff Ideal.radical_le_radical_iff
+-/
 
+/- warning: ideal.radical_eq_top -> Ideal.radical_eq_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (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))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (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))))) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_top Ideal.radical_eq_topₓ'. -/
 theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
   ⟨fun h =>
     (eq_top_iff_one _).2 <|
@@ -940,39 +1558,61 @@ theorem radical_eq_top : radical I = ⊤ ↔ I = ⊤ :=
     fun h => h.symm ▸ radical_top R⟩
 #align ideal.radical_eq_top Ideal.radical_eq_top
 
+#print Ideal.IsPrime.isRadical /-
 theorem IsPrime.isRadical (H : IsPrime I) : I.IsRadical := fun r ⟨n, hrni⟩ =>
   H.mem_of_pow_mem n hrni
 #align ideal.is_prime.is_radical Ideal.IsPrime.isRadical
+-/
 
+#print Ideal.IsPrime.radical /-
 theorem IsPrime.radical (H : IsPrime I) : radical I = I :=
   H.IsRadical.radical
 #align ideal.is_prime.radical Ideal.IsPrime.radical
+-/
 
 variable (I J)
 
+/- warning: ideal.radical_sup -> Ideal.radical_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) I J)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) I J)) (Ideal.radical.{u1} R _inst_1 (Sup.sup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instIdemCommSemiringSubmoduleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToSemiringToModule.{u1, u1} R _inst_1 R _inst_1 (Algebra.id.{u1} R _inst_1)))) (Ideal.radical.{u1} R _inst_1 I) (Ideal.radical.{u1} R _inst_1 J)))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_sup Ideal.radical_supₓ'. -/
 theorem radical_sup : radical (I ⊔ J) = radical (radical I ⊔ radical J) :=
   le_antisymm (radical_mono <| sup_le_sup le_radical le_radical) <|
     radical_le_radical_iff.2 <| sup_le (radical_mono le_sup_left) (radical_mono le_sup_right)
 #align ideal.radical_sup Ideal.radical_sup
 
+#print Ideal.radical_inf /-
 theorem radical_inf : radical (I ⊓ J) = radical I ⊓ radical J :=
   le_antisymm (le_inf (radical_mono inf_le_left) (radical_mono inf_le_right))
     fun r ⟨⟨m, hrm⟩, ⟨n, hrn⟩⟩ =>
     ⟨m + n, (pow_add r m n).symm ▸ I.mul_mem_right _ hrm,
       (pow_add r m n).symm ▸ J.mul_mem_left _ hrn⟩
 #align ideal.radical_inf Ideal.radical_inf
+-/
 
+#print Ideal.radical_mul /-
 theorem radical_mul : radical (I * J) = radical I ⊓ radical J :=
   le_antisymm (radical_inf I J ▸ radical_mono <| @mul_le_inf _ _ I J) fun r ⟨⟨m, hrm⟩, ⟨n, hrn⟩⟩ =>
     ⟨m + n, (pow_add r m n).symm ▸ mul_mem_mul hrm hrn⟩
 #align ideal.radical_mul Ideal.radical_mul
+-/
 
 variable {I J}
 
+#print Ideal.IsPrime.radical_le_iff /-
 theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
   hJ.IsRadical.radical_le_iff
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
+-/
 
+/- warning: ideal.radical_eq_Inf -> Ideal.radical_eq_infₛ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.infₛ.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.radical.{u1} R _inst_1 I) (InfSet.infₛ.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instInfSetSubmodule.{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))) (setOf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (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))))))) I J) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) J))))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_eq_Inf Ideal.radical_eq_infₛₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
 theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } :=
   le_antisymm (le_infₛ fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
@@ -1011,10 +1651,22 @@ theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I 
         this.radical.symm ▸ (infₛ_le ⟨him, this⟩ : infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
 #align ideal.radical_eq_Inf Ideal.radical_eq_infₛ
 
+/- warning: ideal.is_radical_bot_of_no_zero_divisors -> Ideal.isRadical_bot_of_noZeroDivisors is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))], Ideal.IsRadical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))], Ideal.IsRadical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_radical_bot_of_no_zero_divisors Ideal.isRadical_bot_of_noZeroDivisorsₓ'. -/
 theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
     (⊥ : Ideal R).IsRadical := fun x hx => hx.recOn fun n hn => pow_eq_zero hn
 #align ideal.is_radical_bot_of_no_zero_divisors Ideal.isRadical_bot_of_noZeroDivisors
 
+/- warning: ideal.radical_bot_of_no_zero_divisors -> Ideal.radical_bot_of_noZeroDivisors is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))))], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.radical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : CommSemiring.{u1} R] [_inst_3 : NoZeroDivisors.{u1} R (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_2))], Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Ideal.radical.{u1} R _inst_2 (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_2))))
+Case conversion may be inaccurate. Consider using '#align ideal.radical_bot_of_no_zero_divisors Ideal.radical_bot_of_noZeroDivisorsₓ'. -/
 @[simp]
 theorem radical_bot_of_noZeroDivisors {R : Type u} [CommSemiring R] [NoZeroDivisors R] :
     radical (⊥ : Ideal R) = ⊥ :=
@@ -1026,6 +1678,12 @@ instance : IdemCommSemiring (Ideal R) :=
 
 variable (R)
 
+/- warning: ideal.top_pow -> Ideal.top_pow is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (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)))) n) (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))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (n : Nat), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (instHPow.{u1, 0} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (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)))) n) (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))))
+Case conversion may be inaccurate. Consider using '#align ideal.top_pow Ideal.top_powₓ'. -/
 theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ :=
   Nat.recOn n one_eq_top fun n ih => by rw [pow_succ, ih, top_mul]
 #align ideal.top_pow Ideal.top_pow
@@ -1034,6 +1692,7 @@ variable {R}
 
 variable (I)
 
+#print Ideal.radical_pow /-
 theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
   Nat.recOn n (Not.elim (by decide))
     (fun n ih H =>
@@ -1050,7 +1709,9 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
         fun H => H ▸ (pow_one I).symm ▸ rfl)
     H
 #align ideal.radical_pow Ideal.radical_pow
+-/
 
+#print Ideal.IsPrime.mul_le /-
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h =>
     or_iff_not_imp_left.2 fun hip j hj =>
@@ -1060,12 +1721,21 @@ theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I 
     Or.cases_on h (le_trans <| le_trans mul_le_inf inf_le_left)
       (le_trans <| le_trans mul_le_inf inf_le_right)⟩
 #align ideal.is_prime.mul_le Ideal.IsPrime.mul_le
+-/
 
+#print Ideal.IsPrime.inf_le /-
 theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I ≤ P ∨ J ≤ P :=
   ⟨fun h => hp.mul_le.1 <| le_trans mul_le_inf h, fun h =>
     Or.cases_on h (le_trans inf_le_left) (le_trans inf_le_right)⟩
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
+-/
 
+/- warning: ideal.is_prime.multiset_prod_le -> Ideal.IsPrime.multiset_prod_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (OfNat.mk.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.zero.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) -> (Iff (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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => Exists.{0} (Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.hasMem.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) => 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)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) I P))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) s (OfNat.ofNat.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instZeroMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) -> (Iff (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))) s) P) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Membership.mem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Multiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Multiset.instMembershipMultiset.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) I s) (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))))))) I P))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_leₓ'. -/
 theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P)
     (hne : s ≠ 0) : s.Prod ≤ P ↔ ∃ I ∈ s, I ≤ P :=
   by
@@ -1088,6 +1758,12 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
     exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 
+/- warning: ideal.is_prime.multiset_prod_map_le -> Ideal.IsPrime.multiset_prod_map_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Multiset.{u2} ι} (f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Ne.{succ u2} (Multiset.{u2} ι) s (OfNat.ofNat.{u2} (Multiset.{u2} ι) 0 (OfNat.mk.{u2} (Multiset.{u2} ι) 0 (Zero.zero.{u2} (Multiset.{u2} ι) (Multiset.hasZero.{u2} ι))))) -> (Iff (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)) (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))))))) (Multiset.prod.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) (Multiset.map.{u2, u1} ι (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) f s)) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Multiset.{u2} ι) (Multiset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Multiset.{u1} ι} (f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Ne.{succ u1} (Multiset.{u1} ι) s (OfNat.ofNat.{u1} (Multiset.{u1} ι) 0 (Zero.toOfNat0.{u1} (Multiset.{u1} ι) (Multiset.instZeroMultiset.{u1} ι)))) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Multiset.prod.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) (Multiset.map.{u1, u2} ι (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) f s)) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Multiset.{u1} ι) (Multiset.instMembershipMultiset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_leₓ'. -/
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
     (hp : IsPrime P) (hne : s ≠ 0) : (s.map f).Prod ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   by
@@ -1095,17 +1771,35 @@ theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P :
   simp_rw [exists_prop, Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
 
+/- warning: ideal.is_prime.prod_le -> Ideal.IsPrime.prod_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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)) (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))))))) (Finset.prod.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (CommSemiring.toCommMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.prod.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (CommSemiring.toCommMonoid.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.prod_le Ideal.IsPrime.prod_leₓ'. -/
 theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hne : s.Nonempty) : s.Prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   hp.multiset_prod_map_le f (mt Finset.val_eq_zero.mp hne.ne_empty)
 #align ideal.is_prime.prod_le Ideal.IsPrime.prod_le
 
+/- warning: ideal.is_prime.inf_le' -> Ideal.IsPrime.inf_le' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {ι : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))} {P : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) P) -> (Finset.Nonempty.{u2} ι s) -> (Iff (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)) (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))))))) (Finset.inf.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) ι (Lattice.toSemilatticeInf.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{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)))))) (Submodule.orderTop.{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))) s f) P) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => 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)) (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))))))) (f i) P))))
+but is expected to have type
+  forall {R : Type.{u2}} {ι : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))} {P : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)}, (Ideal.IsPrime.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1) P) -> (Finset.Nonempty.{u1} ι s) -> (Iff (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (Finset.inf.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) ι (Lattice.toSemilatticeInf.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) s f) P) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (f i) P))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'ₓ'. -/
 theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
     (hsne : s.Nonempty) : s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   ⟨fun h => (hp.prod_le hsne).1 <| le_trans prod_le_inf h, fun ⟨i, his, hip⟩ =>
     le_trans (Finset.inf_le his) hip⟩
 #align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'
 
+/- warning: ideal.subset_union -> Ideal.subset_union is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) J) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2)))))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)} {K : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.instHasSubsetSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) I) (Union.union.{u1} (Set.{u1} R) (Set.instUnionSet.{u1} R) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) J) (SetLike.coe.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) R (Submodule.instSetLikeSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))) K))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I J) (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_2)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_2))))))) I K))
+Case conversion may be inaccurate. Consider using '#align ideal.subset_union Ideal.subset_unionₓ'. -/
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
   ⟨fun h =>
@@ -1120,6 +1814,12 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
       Set.Subset.trans h <| Set.subset_union_right J K⟩
 #align ideal.subset_union Ideal.subset_union
 
+/- warning: ideal.subset_union_prime' -> Ideal.subset_union_prime' is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) (Union.union.{u1} (Set.{u1} R) (Set.hasUnion.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f a)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f b))) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i)))))) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f a)) (Or (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f b)) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))))
+but is expected to have type
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} {a : ι} {b : ι}, (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (Union.union.{u2} (Set.{u2} R) (Set.instUnionSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f a)) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f b))) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i)))))) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f a)) (Or (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f b)) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))))
+Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime' Ideal.subset_union_prime'ₓ'. -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
 /- ./././Mathport/Syntax/Translate/Tactic/Lean3.lean:564:6: unsupported: specialize @hyp -/
@@ -1238,6 +1938,12 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       exact hs (Or.inr <| Set.mem_bunionᵢ hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
+/- warning: ideal.subset_union_prime -> Ideal.subset_union_prime is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u2}} {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {s : Finset.{u2} ι} {f : ι -> (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) -> (Ne.{succ u2} ι i a) -> (Ne.{succ u2} ι i b) -> (Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (f i))) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))}, Iff (HasSubset.Subset.{u1} (Set.{u1} R) (Set.hasSubset.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) I) (Set.unionᵢ.{u1, succ u2} R ι (fun (i : ι) => Set.unionᵢ.{u1, 0} R (Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) (fun (H : Membership.Mem.{u2, u2} ι (Set.{u2} ι) (Set.hasMem.{u2} ι) i ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} ι) (Set.{u2} ι) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (CoeTCₓ.coe.{succ u2, succ u2} (Finset.{u2} ι) (Set.{u2} ι) (Finset.Set.hasCoeT.{u2} ι))) s)) => (fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) (f i))))) (Exists.{succ u2} ι (fun (i : ι) => Exists.{0} (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) (fun (H : Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) i s) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)))))))) I (f i)))))
+but is expected to have type
+  forall {ι : Type.{u1}} {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] {s : Finset.{u1} ι} {f : ι -> (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))} (a : ι) (b : ι), (forall (i : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) -> (Ne.{succ u1} ι i a) -> (Ne.{succ u1} ι i b) -> (Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (f i))) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))}, Iff (HasSubset.Subset.{u2} (Set.{u2} R) (Set.instHasSubsetSet.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I) (Set.unionᵢ.{u2, succ u1} R ι (fun (i : ι) => Set.unionᵢ.{u2, 0} R (Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) (fun (H : Membership.mem.{u1, u1} ι (Set.{u1} ι) (Set.instMembershipSet.{u1} ι) i (Finset.toSet.{u1} ι s)) => SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (f i))))) (Exists.{succ u1} ι (fun (i : ι) => And (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) i s) (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))))))) I (f i)))))
+Case conversion may be inaccurate. Consider using '#align ideal.subset_union_prime Ideal.subset_union_primeₓ'. -/
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
 theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} (a b : ι)
     (hp : ∀ i ∈ s, i ≠ a → i ≠ b → IsPrime (f i)) {I : Ideal R} :
@@ -1297,6 +2003,12 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
 
 section Dvd
 
+/- warning: ideal.le_of_dvd -> Ideal.le_of_dvd is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.Dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.idemCommSemiring.{u1} R _inst_1))))))) I J) -> (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)) (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 I)
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {J : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Dvd.dvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (semigroupDvd.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SemigroupWithZero.toSemigroup.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalSemiring.toSemigroupWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toNonUnitalCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1))))))) I J) -> (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 I)
+Case conversion may be inaccurate. Consider using '#align ideal.le_of_dvd Ideal.le_of_dvdₓ'. -/
 /-- If `I` divides `J`, then `I` contains `J`.
 
 In a Dedekind domain, to divide and contain are equivalent, see `ideal.dvd_iff_le`.
@@ -1305,17 +2017,25 @@ theorem le_of_dvd {I J : Ideal R} : I ∣ J → J ≤ I
   | ⟨K, h⟩ => h.symm ▸ le_trans mul_le_inf inf_le_left
 #align ideal.le_of_dvd Ideal.le_of_dvd
 
+/- warning: ideal.is_unit_iff -> Ideal.isUnit_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (IsUnit.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) I) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, Iff (IsUnit.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) I) (Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) I (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)))))
+Case conversion may be inaccurate. Consider using '#align ideal.is_unit_iff Ideal.isUnit_iffₓ'. -/
 theorem isUnit_iff {I : Ideal R} : IsUnit I ↔ I = ⊤ :=
   isUnit_iff_dvd_one.trans
     ((@one_eq_top R _).symm ▸
       ⟨fun h => eq_top_iff.mpr (Ideal.le_of_dvd h), fun h => ⟨⊤, by rw [mul_top, h]⟩⟩)
 #align ideal.is_unit_iff Ideal.isUnit_iff
 
+#print Ideal.uniqueUnits /-
 instance uniqueUnits : Unique (Ideal R)ˣ
     where
   default := 1
   uniq u := Units.ext (show (u : Ideal R) = 1 by rw [is_unit_iff.mp u.is_unit, one_eq_top])
 #align ideal.unique_units Ideal.uniqueUnits
+-/
 
 end Dvd
 
@@ -1337,12 +2057,15 @@ variable {I J : Ideal R} {K L : Ideal S}
 
 include rc
 
+#print Ideal.map /-
 /-- `I.map f` is the span of the image of the ideal `I` under `f`, which may be bigger than
   the image itself. -/
 def map (I : Ideal R) : Ideal S :=
   span (f '' I)
 #align ideal.map Ideal.map
+-/
 
+#print Ideal.comap /-
 /-- `I.comap f` is the preimage of `I` under `f`. -/
 def comap (I : Ideal S) : Ideal R where
   carrier := f ⁻¹' I
@@ -1354,36 +2077,79 @@ def comap (I : Ideal S) : Ideal R where
     simp only [smul_eq_mul, Set.mem_preimage, map_mul, SetLike.mem_coe] at *
     exact mul_mem_left I _ hx
 #align ideal.comap Ideal.comap
+-/
 
 variable {f}
 
+/- warning: ideal.map_mono -> Ideal.map_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I J) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_mono Ideal.map_monoₓ'. -/
 theorem map_mono (h : I ≤ J) : map f I ≤ map f J :=
   span_mono <| Set.image_subset _ h
 #align ideal.map_mono Ideal.map_mono
 
+/- warning: ideal.mem_map_of_mem -> Ideal.mem_map_of_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) -> (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) -> (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_map_of_mem Ideal.mem_map_of_memₓ'. -/
 theorem mem_map_of_mem (f : F) {I : Ideal R} {x : R} (h : x ∈ I) : f x ∈ map f I :=
   subset_span ⟨x, h, rfl⟩
 #align ideal.mem_map_of_mem Ideal.mem_map_of_mem
 
+/- warning: ideal.apply_coe_mem_map -> Ideal.apply_coe_mem_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (x : coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I), Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Ideal.{u1} R _inst_1) Type.{u1} (SetLike.hasCoeToSort.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) I) R (coeSubtype.{succ u1} R (fun (x : R) => Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I))))) x)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I)), Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I)) x)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
+Case conversion may be inaccurate. Consider using '#align ideal.apply_coe_mem_map Ideal.apply_coe_mem_mapₓ'. -/
 theorem apply_coe_mem_map (f : F) (I : Ideal R) (x : I) : f x ∈ I.map f :=
   mem_map_of_mem f x.Prop
 #align ideal.apply_coe_mem_map Ideal.apply_coe_mem_map
 
+/- warning: ideal.map_le_iff_le_comap -> Ideal.map_le_iff_le_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, Iff (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, Iff (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
+Case conversion may be inaccurate. Consider using '#align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comapₓ'. -/
 theorem map_le_iff_le_comap : map f I ≤ K ↔ I ≤ comap f K :=
   span_le.trans Set.image_subset_iff
 #align ideal.map_le_iff_le_comap Ideal.map_le_iff_le_comap
 
+/- warning: ideal.mem_comap -> Ideal.mem_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) K)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) (Membership.mem.{u3, u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) K)
+Case conversion may be inaccurate. Consider using '#align ideal.mem_comap Ideal.mem_comapₓ'. -/
 @[simp]
 theorem mem_comap {x} : x ∈ comap f K ↔ f x ∈ K :=
   Iff.rfl
 #align ideal.mem_comap Ideal.mem_comap
 
+/- warning: ideal.comap_mono -> Ideal.comap_mono is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_mono Ideal.comap_monoₓ'. -/
 theorem comap_mono (h : K ≤ L) : comap f K ≤ comap f L :=
   Set.preimage_mono fun x hx => h hx
 #align ideal.comap_mono Ideal.comap_mono
 
 variable (f)
 
+/- warning: ideal.comap_ne_top -> Ideal.comap_ne_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2}, (Ne.{succ u2} (Ideal.{u2} S _inst_2) K (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) -> (Ne.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {K : Ideal.{u3} S _inst_2}, (Ne.{succ u3} (Ideal.{u3} S _inst_2) K (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) -> (Ne.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_ne_top Ideal.comap_ne_topₓ'. -/
 theorem comap_ne_top (hK : K ≠ ⊤) : comap f K ≠ ⊤ :=
   (ne_top_iff_one _).2 <| by rw [mem_comap, map_one] <;> exact (ne_top_iff_one _).1 hK
 #align ideal.comap_ne_top Ideal.comap_ne_top
@@ -1392,6 +2158,12 @@ variable {G : Type _} [rcg : RingHomClass G S R]
 
 include rcg
 
+/- warning: ideal.map_le_comap_of_inv_on -> Ideal.map_le_comap_of_inv_on is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u3, u3} (Ideal.{u3} R _inst_1) R (Submodule.instSetLikeSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) I)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_onₓ'. -/
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
   refine' Ideal.span_le.2 _
@@ -1400,16 +2172,34 @@ theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I)
   exact hx
 #align ideal.map_le_comap_of_inv_on Ideal.map_le_comap_of_inv_on
 
+/- warning: ideal.comap_le_map_of_inv_on -> Ideal.comap_le_map_of_inv_on is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Set.LeftInvOn.{u1, u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_2) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_2) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) I))) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Set.LeftInvOn.{u3, u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (Set.preimage.{u3, u4} R S (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f) (SetLike.coe.{u4, u4} (Ideal.{u4} S _inst_2) S (Submodule.instSetLikeSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) I))) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_onₓ'. -/
 theorem comap_le_map_of_inv_on (g : G) (I : Ideal S) (hf : Set.LeftInvOn g f (f ⁻¹' I)) :
     I.comap f ≤ I.map g := fun x (hx : f x ∈ I) => hf hx ▸ Ideal.mem_map_of_mem g hx
 #align ideal.comap_le_map_of_inv_on Ideal.comap_le_map_of_inv_on
 
+/- warning: ideal.map_le_comap_of_inverse -> Ideal.map_le_comap_of_inverse is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u1} R _inst_1), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u3} R _inst_1), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u4} (Ideal.{u4} S _inst_2) (Preorder.toLE.{u4} (Ideal.{u4} S _inst_2) (PartialOrder.toPreorder.{u4} (Ideal.{u4} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))))) (Ideal.map.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+Case conversion may be inaccurate. Consider using '#align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverseₓ'. -/
 /-- The `ideal` version of `set.image_subset_preimage_of_inverse`. -/
 theorem map_le_comap_of_inverse (g : G) (I : Ideal R) (h : Function.LeftInverse g f) :
     I.map f ≤ I.comap g :=
   map_le_comap_of_inv_on _ _ _ <| h.LeftInvOn _
 #align ideal.map_le_comap_of_inverse Ideal.map_le_comap_of_inverse
 
+/- warning: ideal.comap_le_map_of_inverse -> Ideal.comap_le_map_of_inverse is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {G : Type.{u4}} [rcg : RingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)] (g : G) (I : Ideal.{u2} S _inst_2), (Function.LeftInverse.{succ u1, succ u2} R S (coeFn.{succ u4, max (succ u2) (succ u1)} G (fun (_x : G) => S -> R) (FunLike.hasCoeToFun.{succ u4, succ u2, succ u1} G S (fun (_x : S) => R) (MulHomClass.toFunLike.{u4, u2, u1} G S R (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{u4, u2, u1} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u4, u2, u1} G S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) rcg)))) g) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u1, u4} S R G _inst_2 _inst_1 rcg g I))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {G : Type.{u2}} [rcg : RingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1)] (g : G) (I : Ideal.{u4} S _inst_2), (Function.LeftInverse.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u4, succ u3} G S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : S) => R) _x) (MulHomClass.toFunLike.{u2, u4, u3} G S R (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalRingHomClass.toMulHomClass.{u2, u4, u3} G S R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomClass.toNonUnitalRingHomClass.{u2, u4, u3} G S R (Semiring.toNonAssocSemiring.{u4} S _inst_2) (Semiring.toNonAssocSemiring.{u3} R _inst_1) rcg))) g) (FunLike.coe.{succ u1, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) (Ideal.comap.{u3, u4, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u4, u3, u2} S R G _inst_2 _inst_1 rcg g I))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_le_map_of_inverse Ideal.comap_le_map_of_inverseₓ'. -/
 /-- The `ideal` version of `set.preimage_subset_image_of_inverse`. -/
 theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse g f) :
     I.comap f ≤ I.map g :=
@@ -1418,39 +2208,77 @@ theorem comap_le_map_of_inverse (g : G) (I : Ideal S) (h : Function.LeftInverse
 
 omit rcg
 
+#print Ideal.IsPrime.comap /-
 instance IsPrime.comap [hK : K.IsPrime] : (comap f K).IsPrime :=
   ⟨comap_ne_top _ hK.1, fun x y => by simp only [mem_comap, map_mul] <;> apply hK.2⟩
 #align ideal.is_prime.comap Ideal.IsPrime.comap
+-/
 
 variable (I J K L)
 
+/- warning: ideal.map_top -> Ideal.map_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_top Ideal.map_topₓ'. -/
 theorem map_top : map f ⊤ = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span ⟨1, trivial, map_one f⟩
 #align ideal.map_top Ideal.map_top
 
 variable (f)
 
+/- warning: ideal.gc_map_comap -> Ideal.gc_map_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), GaloisConnection.{u1, u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), GaloisConnection.{u2, u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f)
+Case conversion may be inaccurate. Consider using '#align ideal.gc_map_comap Ideal.gc_map_comapₓ'. -/
 theorem gc_map_comap : GaloisConnection (Ideal.map f) (Ideal.comap f) := fun I J =>
   Ideal.map_le_iff_le_comap
 #align ideal.gc_map_comap Ideal.gc_map_comap
 
 omit rc
 
+/- warning: ideal.comap_id -> Ideal.comap_id is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
+Case conversion may be inaccurate. Consider using '#align ideal.comap_id Ideal.comap_idₓ'. -/
 @[simp]
 theorem comap_id : I.comap (RingHom.id R) = I :=
   Ideal.ext fun _ => Iff.rfl
 #align ideal.comap_id Ideal.comap_id
 
+/- warning: ideal.map_id -> Ideal.map_id is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.map.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.ringHomClass.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : Semiring.{u1} R] (I : Ideal.{u1} R _inst_1), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.map.{u1, u1, u1} R R (RingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_1 _inst_1 (RingHom.instRingHomClassRingHom.{u1, u1} R R (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) I) I
+Case conversion may be inaccurate. Consider using '#align ideal.map_id Ideal.map_idₓ'. -/
 @[simp]
 theorem map_id : I.map (RingHom.id R) = I :=
   (gc_map_comap (RingHom.id R)).l_unique GaloisConnection.id comap_id
 #align ideal.map_id Ideal.map_id
 
+/- warning: ideal.comap_comap -> Ideal.comap_comap 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] {T : Type.{u3}} [_inst_3 : Semiring.{u3} T] {I : Ideal.{u3} T _inst_3} (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f (Ideal.comap.{u2, u3, max u2 u3} S T (RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_2 _inst_3 (RingHom.ringHomClass.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) g I)) (Ideal.comap.{u1, u3, max u1 u3} R T (RingHom.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_1 _inst_3 (RingHom.ringHomClass.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) (RingHom.comp.{u1, u2, u3} R S T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3) g f) I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] {T : Type.{u1}} [_inst_3 : Semiring.{u1} T] {I : Ideal.{u1} T _inst_3} (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (g : RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, max u2 u3} R S (RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) f (Ideal.comap.{u3, u1, max u3 u1} S T (RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_2 _inst_3 (RingHom.instRingHomClassRingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) g I)) (Ideal.comap.{u2, u1, max u1 u2} R T (RingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) (RingHom.comp.{u2, u3, u1} R S T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3) g f) I)
+Case conversion may be inaccurate. Consider using '#align ideal.comap_comap Ideal.comap_comapₓ'. -/
 theorem comap_comap {T : Type _} [Semiring T] {I : Ideal T} (f : R →+* S) (g : S →+* T) :
     (I.comap g).comap f = I.comap (g.comp f) :=
   rfl
 #align ideal.comap_comap Ideal.comap_comap
 
+/- warning: ideal.map_map -> Ideal.map_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] {T : Type.{u3}} [_inst_3 : Semiring.{u3} T] {I : Ideal.{u1} R _inst_1} (f : RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (g : RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.map.{u2, u3, max u2 u3} S T (RingHom.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_2 _inst_3 (RingHom.ringHomClass.{u2, u3} S T (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) g (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I)) (Ideal.map.{u1, u3, max u1 u3} R T (RingHom.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) _inst_1 _inst_3 (RingHom.ringHomClass.{u1, u3} R T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u3} T _inst_3)) (RingHom.comp.{u1, u2, u3} R S T (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u3} T _inst_3) g f) I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] {T : Type.{u1}} [_inst_3 : Semiring.{u1} T] {I : Ideal.{u2} R _inst_1} (f : RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (g : RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)), Eq.{succ u1} (Ideal.{u1} T _inst_3) (Ideal.map.{u3, u1, max u3 u1} S T (RingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_2 _inst_3 (RingHom.instRingHomClassRingHom.{u3, u1} S T (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) g (Ideal.map.{u2, u3, max u2 u3} R S (RingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u2, u3} R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)) f I)) (Ideal.map.{u2, u1, max u1 u2} R T (RingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) _inst_1 _inst_3 (RingHom.instRingHomClassRingHom.{u2, u1} R T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u1} T _inst_3)) (RingHom.comp.{u2, u3, u1} R S T (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) (Semiring.toNonAssocSemiring.{u1} T _inst_3) g f) I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_map Ideal.map_mapₓ'. -/
 theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S →+* T) :
     (I.map f).map g = I.map (g.comp f) :=
   ((gc_map_comap f).compose (gc_map_comap g)).l_unique (gc_map_comap (g.comp f)) fun _ =>
@@ -1459,6 +2287,12 @@ theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S 
 
 include rc
 
+/- warning: ideal.map_span -> Ideal.map_span is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} R), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.span.{u1} R _inst_1 s)) (Ideal.span.{u2} S _inst_2 (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) s))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} R), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.span.{u2} R _inst_1 s)) (Ideal.span.{u3} S _inst_2 (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) s))
+Case conversion may be inaccurate. Consider using '#align ideal.map_span Ideal.map_spanₓ'. -/
 theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
   symm <|
     Submodule.span_eq_of_le _ (fun y ⟨x, hy, x_eq⟩ => x_eq ▸ mem_map_of_mem f (subset_span hy))
@@ -1467,33 +2301,75 @@ theorem map_span (f : F) (s : Set R) : map f (span s) = span (f '' s) :=
 
 variable {f I J K L}
 
+/- warning: ideal.map_le_of_le_comap -> Ideal.map_le_of_le_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K)
+Case conversion may be inaccurate. Consider using '#align ideal.map_le_of_le_comap Ideal.map_le_of_le_comapₓ'. -/
 theorem map_le_of_le_comap : I ≤ K.comap f → I.map f ≤ K :=
   (gc_map_comap f).l_le
 #align ideal.map_le_of_le_comap Ideal.map_le_of_le_comap
 
+/- warning: ideal.le_comap_of_map_le -> Ideal.le_comap_of_map_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) K) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))
+Case conversion may be inaccurate. Consider using '#align ideal.le_comap_of_map_le Ideal.le_comap_of_map_leₓ'. -/
 theorem le_comap_of_map_le : I.map f ≤ K → I ≤ K.comap f :=
   (gc_map_comap f).le_u
 #align ideal.le_comap_of_map_le Ideal.le_comap_of_map_le
 
+/- warning: ideal.le_comap_map -> Ideal.le_comap_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u1} R _inst_1}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u2} R _inst_1}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+Case conversion may be inaccurate. Consider using '#align ideal.le_comap_map Ideal.le_comap_mapₓ'. -/
 theorem le_comap_map : I ≤ (I.map f).comap f :=
   (gc_map_comap f).le_u_l _
 #align ideal.le_comap_map Ideal.le_comap_map
 
+/- warning: ideal.map_comap_le -> Ideal.map_comap_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {K : Ideal.{u2} S _inst_2}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)) K
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {K : Ideal.{u3} S _inst_2}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)) K
+Case conversion may be inaccurate. Consider using '#align ideal.map_comap_le Ideal.map_comap_leₓ'. -/
 theorem map_comap_le : (K.comap f).map f ≤ K :=
   (gc_map_comap f).l_u_le _
 #align ideal.map_comap_le Ideal.map_comap_le
 
+/- warning: ideal.comap_top -> Ideal.comap_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F}, Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F}, Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_top Ideal.comap_topₓ'. -/
 @[simp]
 theorem comap_top : (⊤ : Ideal S).comap f = ⊤ :=
   (gc_map_comap f).u_top
 #align ideal.comap_top Ideal.comap_top
 
+/- warning: ideal.comap_eq_top_iff -> Ideal.comap_eq_top_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F} {I : Ideal.{u2} S _inst_2}, Iff (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Eq.{succ u2} (Ideal.{u2} S _inst_2) I (Top.top.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasTop.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F} {I : Ideal.{u3} S _inst_2}, Iff (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Eq.{succ u3} (Ideal.{u3} S _inst_2) I (Top.top.{u3} (Ideal.{u3} S _inst_2) (Submodule.instTopSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_eq_top_iff Ideal.comap_eq_top_iffₓ'. -/
 @[simp]
 theorem comap_eq_top_iff {I : Ideal S} : I.comap f = ⊤ ↔ I = ⊤ :=
   ⟨fun h => I.eq_top_iff_one.mpr (map_one f ▸ mem_comap.mp ((I.comap f).eq_top_iff_one.mp h)),
     fun h => by rw [h, comap_top]⟩
 #align ideal.comap_eq_top_iff Ideal.comap_eq_top_iff
 
+/- warning: ideal.map_bot -> Ideal.map_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {f : F}, Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {f : F}, Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_bot Ideal.map_botₓ'. -/
 @[simp]
 theorem map_bot : (⊥ : Ideal R).map f = ⊥ :=
   (gc_map_comap f).l_bot
@@ -1501,62 +2377,140 @@ theorem map_bot : (⊥ : Ideal R).map f = ⊥ :=
 
 variable (f I J K L)
 
+/- warning: ideal.map_comap_map -> Ideal.map_comap_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_comap_map Ideal.map_comap_mapₓ'. -/
 @[simp]
 theorem map_comap_map : ((I.map f).comap f).map f = I.map f :=
   (gc_map_comap f).l_u_l_eq_l I
 #align ideal.map_comap_map Ideal.map_comap_map
 
+/- warning: ideal.comap_map_comap -> Ideal.comap_map_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
+Case conversion may be inaccurate. Consider using '#align ideal.comap_map_comap Ideal.comap_map_comapₓ'. -/
 @[simp]
 theorem comap_map_comap : ((K.comap f).map f).comap f = K.comap f :=
   (gc_map_comap f).u_l_u_eq_u K
 #align ideal.comap_map_comap Ideal.comap_map_comap
 
+/- warning: ideal.map_sup -> Ideal.map_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (I : Ideal.{u1} R _inst_1) (J : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I J)) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (I : Ideal.{u2} R _inst_1) (J : Ideal.{u2} R _inst_1), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) I J)) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_sup Ideal.map_supₓ'. -/
 theorem map_sup : (I ⊔ J).map f = I.map f ⊔ J.map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sup
 #align ideal.map_sup Ideal.map_sup
 
+/- warning: ideal.comap_inf -> Ideal.comap_inf is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2) (L : Ideal.{u2} S _inst_2), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) K L)) (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2) (L : Ideal.{u3} S _inst_2), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) K L)) (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_inf Ideal.comap_infₓ'. -/
 theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
   rfl
 #align ideal.comap_inf Ideal.comap_inf
 
 variable {ι : Sort _}
 
+/- warning: ideal.map_supr -> Ideal.map_supᵢ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (supᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι K)) (supᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u3} R _inst_1)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι K)) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι (fun (i : ι) => Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_supr Ideal.map_supᵢₓ'. -/
 theorem map_supᵢ (K : ι → Ideal R) : (supᵢ K).map f = ⨆ i, (K i).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supᵢ
 #align ideal.map_supr Ideal.map_supᵢ
 
+/- warning: ideal.comap_infi -> Ideal.comap_infᵢ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}} (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (infᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K)) (infᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}} (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u3} (Ideal.{u3} R _inst_1) (Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K)) (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_infi Ideal.comap_infᵢₓ'. -/
 theorem comap_infᵢ (K : ι → Ideal S) : (infᵢ K).comap f = ⨅ i, (K i).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infᵢ
 #align ideal.comap_infi Ideal.comap_infᵢ
 
+/- warning: ideal.map_Sup -> Ideal.map_supₛ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u1} (Ideal.{u1} R _inst_1)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) s)) (supᵢ.{u2, succ u1} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => supᵢ.{u2, 0} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I s) => Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} R _inst_1)), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (SupSet.supₛ.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))) s)) (supᵢ.{u3, succ u2} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => supᵢ.{u3, 0} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I s) => Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_Sup Ideal.map_supₛₓ'. -/
 theorem map_supₛ (s : Set (Ideal R)) : (supₛ s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supₛ
 #align ideal.map_Sup Ideal.map_supₛ
 
+/- warning: ideal.comap_Inf -> Ideal.comap_infₛ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (infᵢ.{u1, succ u2} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u2} S _inst_2) (fun (I : Ideal.{u2} S _inst_2) => infᵢ.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) (fun (H : Membership.Mem.{u2, u2} (Ideal.{u2} S _inst_2) (Set.{u2} (Ideal.{u2} S _inst_2)) (Set.hasMem.{u2} (Ideal.{u2} S _inst_2)) I s) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (infᵢ.{u2, succ u3} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u3} S _inst_2) (fun (I : Ideal.{u3} S _inst_2) => infᵢ.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) (fun (H : Membership.mem.{u3, u3} (Ideal.{u3} S _inst_2) (Set.{u3} (Ideal.{u3} S _inst_2)) (Set.instMembershipSet.{u3} (Ideal.{u3} S _inst_2)) I s) => Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf Ideal.comap_infₛₓ'. -/
 theorem comap_infₛ (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infₛ
 #align ideal.comap_Inf Ideal.comap_infₛ
 
+/- warning: ideal.comap_Inf' -> Ideal.comap_Inf' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (s : Set.{u2} (Ideal.{u2} S _inst_2)), Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) s)) (infᵢ.{u1, succ u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.{u1} R _inst_1) (fun (I : Ideal.{u1} R _inst_1) => infᵢ.{u1, 0} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_1) (Set.{u1} (Ideal.{u1} R _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_1)) I (Set.image.{u2, u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) s)) => I)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (s : Set.{u3} (Ideal.{u3} S _inst_2)), Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (InfSet.infₛ.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSetSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) s)) (infᵢ.{u2, succ u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.{u2} R _inst_1) (fun (I : Ideal.{u2} R _inst_1) => infᵢ.{u2, 0} (Ideal.{u2} R _inst_1) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) (fun (H : Membership.mem.{u2, u2} (Ideal.{u2} R _inst_1) (Set.{u2} (Ideal.{u2} R _inst_1)) (Set.instMembershipSet.{u2} (Ideal.{u2} R _inst_1)) I (Set.image.{u3, u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) s)) => I)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_Inf' Ideal.comap_Inf'ₓ'. -/
 theorem comap_Inf' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
   trans (comap_infₛ f s) (by rw [infᵢ_image])
 #align ideal.comap_Inf' Ideal.comap_Inf'
 
+/- warning: ideal.comap_is_prime -> Ideal.comap_isPrime is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) (K : Ideal.{u2} S _inst_2) [H : Ideal.IsPrime.{u2} S _inst_2 K], Ideal.IsPrime.{u1} R _inst_1 (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) (K : Ideal.{u3} S _inst_2) [H : Ideal.IsPrime.{u3} S _inst_2 K], Ideal.IsPrime.{u2} R _inst_1 (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
+Case conversion may be inaccurate. Consider using '#align ideal.comap_is_prime Ideal.comap_isPrimeₓ'. -/
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
   ⟨comap_ne_top f H.ne_top, fun x y h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
 #align ideal.comap_is_prime Ideal.comap_isPrime
 
 variable {I J K L}
 
+/- warning: ideal.map_inf_le -> Ideal.map_inf_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {J : Ideal.{u1} R _inst_1}, LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) I J)) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {J : Ideal.{u2} R _inst_1}, LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I J)) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_inf_le Ideal.map_inf_leₓ'. -/
 theorem map_inf_le : map f (I ⊓ J) ≤ map f I ⊓ map f J :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_l.map_inf_le _ _
 #align ideal.map_inf_le Ideal.map_inf_le
 
+/- warning: ideal.le_comap_sup -> Ideal.le_comap_sup is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {K : Ideal.{u2} S _inst_2} {L : Ideal.{u2} S _inst_2}, LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K L))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {K : Ideal.{u3} S _inst_2} {L : Ideal.{u3} S _inst_2}, LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f L)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K L))
+Case conversion may be inaccurate. Consider using '#align ideal.le_comap_sup Ideal.le_comap_supₓ'. -/
 theorem le_comap_sup : comap f K ⊔ comap f L ≤ comap f (K ⊔ L) :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).monotone_u.le_map_sup _ _
 #align ideal.le_comap_sup Ideal.le_comap_sup
 
 omit rc
 
+/- warning: ideal.smul_top_eq_map -> Ideal.smul_top_eq_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (SMul.smul.{u1, u2} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasSmul'.{u1, u2} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) I (Top.top.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.hasTop.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (CommSemiring.toSemiring.{u2} S _inst_4) (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))) (algebraMap.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (HSMul.hSMul.{u2, u1, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHSMul.{u2, u1} (Ideal.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.hasSmul'.{u2, u1} R S _inst_3 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5))) I (Top.top.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.instTopSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)))) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (CommSemiring.toSemiring.{u1} S _inst_4) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_3)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4))) (algebraMap.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I))
+Case conversion may be inaccurate. Consider using '#align ideal.smul_top_eq_map Ideal.smul_top_eq_mapₓ'. -/
 @[simp]
 theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
     (I : Ideal R) : I • (⊤ : Submodule R S) = (I.map (algebraMap R S)).restrictScalars R :=
@@ -1582,12 +2536,24 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
     exact Submodule.add_mem _ hx hy
 #align ideal.smul_top_eq_map Ideal.smul_top_eq_map
 
+/- warning: ideal.coe_restrict_scalars -> Ideal.coe_restrictScalars is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : Semiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 _inst_4] (I : Ideal.{u2} S _inst_4), Eq.{succ u2} (Set.{u2} S) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5)) S (Submodule.setLike.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (Submodule.restrictScalars.{u1, u2, u2} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u2} S _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4)))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Algebra.toModule.{u1, u2} R S _inst_3 _inst_4 _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 _inst_4 _inst_5) I)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Ideal.{u2} S _inst_4) (Set.{u2} S) (HasLiftT.mk.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (CoeTCₓ.coe.{succ u2, succ u2} (Ideal.{u2} S _inst_4) (Set.{u2} S) (SetLike.Set.hasCoeT.{u2, u2} (Ideal.{u2} S _inst_4) S (Submodule.setLike.{u2, u2} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_4))) (Semiring.toModule.{u2} S _inst_4))))) I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : Semiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 _inst_4] (I : Ideal.{u1} S _inst_4), Eq.{succ u1} (Set.{u1} S) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) S (Submodule.instSetLikeSubmodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 _inst_4 _inst_5) (Semiring.toModule.{u1} S _inst_4) (Algebra.toSMul.{u2, u1} R S _inst_3 _inst_4 _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 _inst_4 _inst_5) I)) (SetLike.coe.{u1, u1} (Ideal.{u1} S _inst_4) S (Submodule.instSetLikeSubmodule.{u1, u1} S S _inst_4 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S _inst_4))) (Semiring.toModule.{u1} S _inst_4)) I)
+Case conversion may be inaccurate. Consider using '#align ideal.coe_restrict_scalars Ideal.coe_restrictScalarsₓ'. -/
 @[simp]
 theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebra R S]
     (I : Ideal S) : (I.restrictScalars R : Set S) = ↑I :=
   rfl
 #align ideal.coe_restrict_scalars Ideal.coe_restrictScalars
 
+/- warning: ideal.restrict_scalars_mul -> Ideal.restrictScalars_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_3 : CommSemiring.{u1} R] [_inst_4 : CommSemiring.{u2} S] [_inst_5 : Algebra.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4)] (I : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (J : Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)), Eq.{succ u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (instHMul.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (Ideal.hasMul.{u2} S _inst_4)) I J)) (HMul.hMul.{u2, u2, u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (instHMul.{u2} (Submodule.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.mul.{u1, u2} R _inst_3 S (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) I) (Submodule.restrictScalars.{u1, u2, u2} R S S (CommSemiring.toSemiring.{u2} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (CommSemiring.toSemiring.{u1} R _inst_3) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} R S (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R S (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3))))) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R S (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_3)) (AddZeroClass.toHasZero.{u2} S (AddMonoid.toAddZeroClass.{u2} S (AddCommMonoid.toAddMonoid.{u2} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4))))))) (Module.toMulActionWithZero.{u1, u2} R S (CommSemiring.toSemiring.{u1} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S _inst_4)))) (Algebra.toModule.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5))))) (IsScalarTower.right.{u1, u2} R S _inst_3 (CommSemiring.toSemiring.{u2} S _inst_4) _inst_5) J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_3 : CommSemiring.{u2} R] [_inst_4 : CommSemiring.{u1} S] [_inst_5 : Algebra.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4)] (I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (J : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)), Eq.{succ u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (instHMul.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Ideal.instMulIdealToSemiring.{u1} S _inst_4)) I J)) (HMul.hMul.{u1, u1, u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (instHMul.{u1} (Submodule.{u2, u1} R S (CommSemiring.toSemiring.{u2} R _inst_3) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.mul.{u2, u1} R _inst_3 S (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5)) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) I) (Submodule.restrictScalars.{u2, u1, u1} R S S (CommSemiring.toSemiring.{u1} S _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)))) (CommSemiring.toSemiring.{u2} R _inst_3) (Algebra.toModule.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_4)) (Algebra.toSMul.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) (IsScalarTower.right.{u2, u1} R S _inst_3 (CommSemiring.toSemiring.{u1} S _inst_4) _inst_5) J))
+Case conversion may be inaccurate. Consider using '#align ideal.restrict_scalars_mul Ideal.restrictScalars_mulₓ'. -/
 /-- The smallest `S`-submodule that contains all `x ∈ I * y ∈ J`
 is also the smallest `R`-submodule that does so. -/
 @[simp]
@@ -1608,43 +2574,93 @@ include hf
 
 open Function
 
+/- warning: ideal.map_comap_of_surjective -> Ideal.map_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_surjective Ideal.map_comap_of_surjectiveₓ'. -/
 theorem map_comap_of_surjective (I : Ideal S) : map f (comap f I) = I :=
   le_antisymm (map_le_iff_le_comap.2 le_rfl) fun s hsi =>
     let ⟨r, hfrs⟩ := hf s
     hfrs ▸ (mem_map_of_mem f <| show f r ∈ I from hfrs.symm ▸ hsi)
 #align ideal.map_comap_of_surjective Ideal.map_comap_of_surjective
 
+#print Ideal.giMapComap /-
 /-- `map` and `comap` are adjoint, and the composition `map f ∘ comap f` is the
   identity -/
 def giMapComap : GaloisInsertion (map f) (comap f) :=
   GaloisInsertion.monotoneIntro (gc_map_comap f).monotone_u (gc_map_comap f).monotone_l
     (fun _ => le_comap_map) (map_comap_of_surjective _ hf)
 #align ideal.gi_map_comap Ideal.giMapComap
+-/
 
+/- warning: ideal.map_surjective_of_surjective -> Ideal.map_surjective_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Surjective.{succ u1, succ u2} (Ideal.{u1} R _inst_1) (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Surjective.{succ u2, succ u3} (Ideal.{u2} R _inst_1) (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+Case conversion may be inaccurate. Consider using '#align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjectiveₓ'. -/
 theorem map_surjective_of_surjective : Surjective (map f) :=
   (giMapComap f hf).l_surjective
 #align ideal.map_surjective_of_surjective Ideal.map_surjective_of_surjective
 
+/- warning: ideal.comap_injective_of_surjective -> Ideal.comap_injective_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Function.Injective.{succ u2, succ u1} (Ideal.{u2} S _inst_2) (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Function.Injective.{succ u3, succ u2} (Ideal.{u3} S _inst_2) (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjectiveₓ'. -/
 theorem comap_injective_of_surjective : Injective (comap f) :=
   (giMapComap f hf).u_injective
 #align ideal.comap_injective_of_surjective Ideal.comap_injective_of_surjective
 
+/- warning: ideal.map_sup_comap_of_surjective -> Ideal.map_sup_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Sup.sup.{u1} (Ideal.{u1} R _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u2} (Ideal.{u2} S _inst_2) (SemilatticeSup.toHasSup.{u2} (Ideal.{u2} S _inst_2) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) I J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Sup.sup.{u2} (Ideal.{u2} R _inst_1) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R _inst_1) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R _inst_1) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Sup.sup.{u3} (Ideal.{u3} S _inst_2) (SemilatticeSup.toSup.{u3} (Ideal.{u3} S _inst_2) (Lattice.toSemilatticeSup.{u3} (Ideal.{u3} S _inst_2) (ConditionallyCompleteLattice.toLattice.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjectiveₓ'. -/
 theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).map f = I ⊔ J :=
   (giMapComap f hf).l_sup_u _ _
 #align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjective
 
+/- warning: ideal.map_supr_comap_of_surjective -> Ideal.map_supᵢ_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (supᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (ConditionallyCompleteLattice.toHasSup.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) ι K))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (supᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (ConditionallyCompleteLattice.toSupSet.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (supᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (ConditionallyCompleteLattice.toSupSet.{u4} (Ideal.{u4} S _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u4} (Ideal.{u4} S _inst_2) (Submodule.completeLattice.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)))) ι K))
+Case conversion may be inaccurate. Consider using '#align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjectiveₓ'. -/
 theorem map_supᵢ_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = supᵢ K :=
   (giMapComap f hf).l_supᵢ_u _
 #align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjective
 
+/- warning: ideal.map_inf_comap_of_surjective -> Ideal.map_inf_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (I : Ideal.{u2} S _inst_2) (J : Ideal.{u2} S _inst_2), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Inf.inf.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) I J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall (I : Ideal.{u3} S _inst_2) (J : Ideal.{u3} S _inst_2), Eq.{succ u3} (Ideal.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Inf.inf.{u2} (Ideal.{u2} R _inst_1) (Submodule.instInfSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f J))) (Inf.inf.{u3} (Ideal.{u3} S _inst_2) (Submodule.instInfSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjectiveₓ'. -/
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
 #align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjective
 
+/- warning: ideal.map_infi_comap_of_surjective -> Ideal.map_infᵢ_comap_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {ι : Sort.{u4}}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall (K : ι -> (Ideal.{u2} S _inst_2)), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (infᵢ.{u1, u4} (Ideal.{u1} R _inst_1) (Submodule.hasInf.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u2, u4} (Ideal.{u2} S _inst_2) (Submodule.hasInf.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)) ι K))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u4}} {F : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u4} S] [rc : RingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2)] (f : F) {ι : Sort.{u1}}, (Function.Surjective.{succ u3, succ u4} R S (FunLike.coe.{succ u2, succ u3, succ u4} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u2, u3, u4} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u2, u3, u4} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u2, u3, u4} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u4} S _inst_2) rc))) f)) -> (forall (K : ι -> (Ideal.{u4} S _inst_2)), Eq.{succ u4} (Ideal.{u4} S _inst_2) (Ideal.map.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (infᵢ.{u3, u1} (Ideal.{u3} R _inst_1) (Submodule.instInfSetSubmodule.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)) ι (fun (i : ι) => Ideal.comap.{u3, u4, u2} R S F _inst_1 _inst_2 rc f (K i)))) (infᵢ.{u4, u1} (Ideal.{u4} S _inst_2) (Submodule.instInfSetSubmodule.{u4, u4} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S _inst_2))) (Semiring.toModule.{u4} S _inst_2)) ι K))
+Case conversion may be inaccurate. Consider using '#align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjectiveₓ'. -/
 theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = infᵢ K :=
   (giMapComap f hf).l_infᵢ_u _
 #align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjective
 
+/- warning: ideal.mem_image_of_mem_map_of_surjective -> Ideal.mem_image_of_mem_map_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) -> (Membership.Mem.{u2, u2} S (Set.{u2} S) (Set.hasMem.{u2} S) y (Set.image.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) I))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) -> (Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) y (Set.image.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) I))))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjectiveₓ'. -/
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
     (fun y1 y2 ⟨x1, hx1i, hxy1⟩ ⟨x2, hx2i, hxy2⟩ =>
@@ -1654,17 +2670,35 @@ theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I)
     ⟨d * x, I.mul_mem_left _ hxi, hdc ▸ hxy ▸ map_mul f _ _⟩
 #align ideal.mem_image_of_mem_map_of_surjective Ideal.mem_image_of_mem_map_of_surjective
 
+/- warning: ideal.mem_map_iff_of_surjective -> Ideal.mem_map_iff_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (forall {I : Ideal.{u1} R _inst_1} {y : S}, Iff (Membership.Mem.{u2, u2} S (Ideal.{u2} S _inst_2) (SetLike.hasMem.{u2, u2} (Ideal.{u2} S _inst_2) S (Submodule.setLike.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))) y (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u1} R (fun (x : R) => And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) x I) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) y))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (forall {I : Ideal.{u2} R _inst_1} {y : S}, Iff (Membership.mem.{u3, u3} S (Ideal.{u3} S _inst_2) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S _inst_2) S (Submodule.instSetLikeSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))) y (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I)) (Exists.{succ u2} R (fun (x : R) => And (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) x I) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) y))))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjectiveₓ'. -/
 theorem mem_map_iff_of_surjective {I : Ideal R} {y} : y ∈ map f I ↔ ∃ x, x ∈ I ∧ f x = y :=
   ⟨fun h => (Set.mem_image _ _ _).2 (mem_image_of_mem_map_of_surjective f hf h), fun ⟨x, hx⟩ =>
     hx.right ▸ mem_map_of_mem f hx.left⟩
 #align ideal.mem_map_iff_of_surjective Ideal.mem_map_iff_of_surjective
 
+/- warning: ideal.le_map_of_comap_le_of_surjective -> Ideal.le_map_of_comap_le_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1} {K : Ideal.{u2} S _inst_2}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u2} (Ideal.{u2} S _inst_2) (Preorder.toLE.{u2} (Ideal.{u2} S _inst_2) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S _inst_2) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S _inst_2) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S _inst_2) (Submodule.completeLattice.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))))) K (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1} {K : Ideal.{u3} S _inst_2}, (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K) I) -> (LE.le.{u3} (Ideal.{u3} S _inst_2) (Preorder.toLE.{u3} (Ideal.{u3} S _inst_2) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S _inst_2) (Submodule.completeLattice.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))))) K (Ideal.map.{u2, u3, u1} R S F _inst_1 _inst_2 rc f I))
+Case conversion may be inaccurate. Consider using '#align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjectiveₓ'. -/
 theorem le_map_of_comap_le_of_surjective : comap f K ≤ I → K ≤ map f I := fun h =>
   map_comap_of_surjective f hf K ▸ map_mono h
 #align ideal.le_map_of_comap_le_of_surjective Ideal.le_map_of_comap_le_of_surjective
 
 omit hf
 
+/- warning: ideal.map_eq_submodule_map -> Ideal.map_eq_submodule_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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.ringHomClass.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.semilinearMapClass.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
+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 : RingHomSurjective.{u1, u2} R S _inst_1 _inst_2 f] (I : Ideal.{u1} R _inst_1), Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_1 _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) f I) (Submodule.map.{u1, u2, u1, u2, max u1 u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f h (LinearMap.{u1, u2, u1, u2} R S _inst_1 _inst_2 f R S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2)) (LinearMap.instSemilinearMapClassLinearMap.{u1, u2, u1, u2} R S R S _inst_1 _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u1} R _inst_1) (Semiring.toModule.{u2} S _inst_2) f) (RingHom.toSemilinearMap.{u1, u2} R S _inst_1 _inst_2 f) I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_eq_submodule_map Ideal.map_eq_submodule_mapₓ'. -/
 theorem map_eq_submodule_map (f : R →+* S) [h : RingHomSurjective f] (I : Ideal R) :
     I.map f = Submodule.map f.toSemilinearMap I :=
   Submodule.ext fun x => mem_map_iff_of_surjective f h.1
@@ -1678,6 +2712,12 @@ variable (hf : Function.Injective f)
 
 include hf
 
+/- warning: ideal.comap_bot_le_of_injective -> Ideal.comap_bot_le_of_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {I : Ideal.{u1} R _inst_1}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {I : Ideal.{u2} R _inst_1}, (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) I)
+Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injectiveₓ'. -/
 theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   by
   refine' le_trans (fun x hx => _) bot_le
@@ -1685,6 +2725,12 @@ theorem comap_bot_le_of_injective : comap f ⊥ ≤ I :=
   exact Eq.symm (hf hx) ▸ Submodule.zero_mem ⊥
 #align ideal.comap_bot_le_of_injective Ideal.comap_bot_le_of_injective
 
+/- warning: ideal.comap_bot_of_injective -> Ideal.comap_bot_of_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) -> (Eq.{succ u1} (Ideal.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (Bot.bot.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasBot.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) -> (Eq.{succ u2} (Ideal.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2)))) (Bot.bot.{u2} (Ideal.{u2} R _inst_1) (Submodule.instBotSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_bot_of_injective Ideal.comap_bot_of_injectiveₓ'. -/
 theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
   le_bot_iff.mp (Ideal.comap_bot_le_of_injective f hf)
 #align ideal.comap_bot_of_injective Ideal.comap_bot_of_injective
@@ -1705,6 +2751,12 @@ variable (hf : Function.Surjective f)
 
 include hf
 
+/- warning: ideal.comap_map_of_surjective -> Ideal.comap_map_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) I (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2)))))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Lattice.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (ConditionallyCompleteLattice.toLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) I (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f (Bot.bot.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instBotSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_map_of_surjective Ideal.comap_map_of_surjectiveₓ'. -/
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
     (fun r h =>
@@ -1715,6 +2767,12 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
     (sup_le (map_le_iff_le_comap.1 le_rfl) (comap_mono bot_le))
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 
+/- warning: ideal.rel_iso_of_surjective -> Ideal.relIsoOfSurjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.hasLe.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (FunLike.coe.{succ u3, succ u1, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u3, u1, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) _inst_3))) f)) -> (OrderIso.{u2, u1} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Subtype.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) (Subtype.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (fun (p : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) => LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) p)))
+Case conversion may be inaccurate. Consider using '#align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjectiveₓ'. -/
 /-- Correspondence theorem -/
 def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
     where
@@ -1730,11 +2788,19 @@ def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
       comap_mono⟩
 #align ideal.rel_iso_of_surjective Ideal.relIsoOfSurjective
 
+#print Ideal.orderEmbeddingOfSurjective /-
 /-- The map on ideals induced by a surjective map preserves inclusion. -/
 def orderEmbeddingOfSurjective : Ideal S ↪o Ideal R :=
   (relIsoOfSurjective f hf).toRelEmbedding.trans (Subtype.relEmbedding _ _)
 #align ideal.order_embedding_of_surjective Ideal.orderEmbeddingOfSurjective
+-/
 
+/- warning: ideal.map_eq_top_or_is_maximal_of_surjective -> Ideal.map_eq_top_or_isMaximal_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Or (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Top.top.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasTop.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Or (Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Top.top.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.instTopSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))) (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I))))
+Case conversion may be inaccurate. Consider using '#align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjectiveₓ'. -/
 theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     map f I = ⊤ ∨ IsMaximal (map f I) :=
   by
@@ -1746,6 +2812,12 @@ theorem map_eq_top_or_isMaximal_of_surjective {I : Ideal R} (H : IsMaximal I) :
     · exact fun h => hJ.right (le_map_of_comap_le_of_surjective f hf (le_of_eq h.symm))
 #align ideal.map_eq_top_or_is_maximal_of_surjective Ideal.map_eq_top_or_isMaximal_of_surjective
 
+/- warning: ideal.comap_is_maximal_of_surjective -> Ideal.comap_isMaximal_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)} [H : Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) K], Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)} [H : Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) K], Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjectiveₓ'. -/
 theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaximal (comap f K) :=
   by
   refine' ⟨⟨comap_ne_top _ H.1.1, fun J hJ => _⟩⟩
@@ -1762,6 +2834,12 @@ theorem comap_isMaximal_of_surjective {K : Ideal S} [H : IsMaximal K] : IsMaxima
   exact le_trans (comap_mono bot_le) (le_of_lt hJ)
 #align ideal.comap_is_maximal_of_surjective Ideal.comap_isMaximal_of_surjective
 
+/- warning: ideal.comap_le_comap_iff_of_surjective -> Ideal.comap_le_comap_iff_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall (I : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (J : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)), Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f J)) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) I J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Surjective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall (I : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (J : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)), Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f J)) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) I J))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_le_comap_iff_of_surjective Ideal.comap_le_comap_iff_of_surjectiveₓ'. -/
 theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f J ↔ I ≤ J :=
   ⟨fun h => (map_comap_of_surjective f hf I).symm.le.trans (map_le_of_le_comap h), fun h =>
     le_comap_of_map_le ((map_comap_of_surjective f hf I).le.trans h)⟩
@@ -1769,6 +2847,12 @@ theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f
 
 end Surjective
 
+/- warning: ideal.map_of_equiv -> Ideal.map_of_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I)) I
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.map.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) I)) I
+Case conversion may be inaccurate. Consider using '#align ideal.map_of_equiv Ideal.map_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f (map f.symm) = I`. -/
 @[simp]
 theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
@@ -1776,6 +2860,12 @@ theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
   simp [← RingEquiv.toRingHom_eq_coe, map_map]
 #align ideal.map_of_equiv Ideal.map_of_equiv
 
+/- warning: ideal.comap_of_equiv -> Ideal.comap_of_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.ringHomClass.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) ((fun (a : Sort.{max (succ u2) (succ u1)}) (b : Sort.{max (succ u2) (succ u1)}) [self : HasLiftT.{max (succ u2) (succ u1), max (succ u2) (succ u1)} a b] => self.0) (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (HasLiftT.mk.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (CoeTCₓ.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (RingHom.{u2, u1} S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (RingHom.hasCoeT.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f)) I)) I
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.comap.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) (Ideal.comap.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (RingHomClass.toRingHom.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f)) I)) I
+Case conversion may be inaccurate. Consider using '#align ideal.comap_of_equiv Ideal.comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
 theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
@@ -1783,6 +2873,12 @@ theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
   simp [← RingEquiv.toRingHom_eq_coe, comap_comap]
 #align ideal.comap_of_equiv Ideal.comap_of_equiv
 
+/- warning: ideal.map_comap_of_equiv -> Ideal.map_comap_of_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHom.hasCoeT.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u2 u1} S R (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u2 u1, u2, u1} (RingEquiv.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1))) S R (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (RingEquiv.ringEquivClass.{u2, u1} S R (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)))) (RingEquiv.symm.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2)) f) I)
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))))) f) I) (Ideal.comap.{u2, u1, max u1 u2} S R (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) (Ring.toSemiring.{u2} S _inst_2) (Ring.toSemiring.{u1} R _inst_1) (RingEquivClass.toRingHomClass.{max u1 u2, u2, u1} (RingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1)))))) S R (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingEquiv.instRingEquivClassRingEquiv.{u2, u1} S R (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))))) (RingEquiv.symm.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))))) f) I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_comap_of_equiv Ideal.map_comap_of_equivₓ'. -/
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : ideal R`, then `map f I = comap f.symm I`. -/
 theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
   le_antisymm (le_comap_of_map_le (map_of_equiv I f).le)
@@ -1795,6 +2891,7 @@ variable (hf : Function.Bijective f)
 
 include hf
 
+#print Ideal.relIsoOfBijective /-
 /-- Special case of the correspondence theorem for isomorphic rings -/
 def relIsoOfBijective : Ideal S ≃o Ideal R
     where
@@ -1806,12 +2903,25 @@ def relIsoOfBijective : Ideal S ≃o Ideal R
       ((relIsoOfSurjective f hf.right).right_inv ⟨J, comap_bot_le_of_injective f hf.left⟩)
   map_rel_iff' _ _ := (relIsoOfSurjective f hf.right).map_rel_iff'
 #align ideal.rel_iso_of_bijective Ideal.relIsoOfBijective
+-/
 
+/- warning: ideal.comap_le_iff_le_map -> Ideal.comap_le_iff_le_map is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {K : Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)}, Iff (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f K) I) (LE.le.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Preorder.toLE.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.completeLattice.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))) K (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} {K : Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)}, Iff (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f K) I) (LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S _inst_2)) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S _inst_2))))))) K (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_mapₓ'. -/
 theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K ≤ map f I :=
   ⟨fun h => le_map_of_comap_le_of_surjective f hf.right h, fun h =>
     (relIsoOfBijective f hf).right_inv I ▸ comap_mono h⟩
 #align ideal.comap_le_iff_le_map Ideal.comap_le_iff_le_map
 
+/- warning: ideal.map.is_maximal -> Ideal.map.isMaximal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), (Function.Bijective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) I) -> (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_3 f I)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), (Function.Bijective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) _inst_3))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)}, (Ideal.IsMaximal.{u2} R (Ring.toSemiring.{u2} R _inst_1) I) -> (Ideal.IsMaximal.{u3} S (Ring.toSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_3 f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.map.is_maximal Ideal.map.isMaximalₓ'. -/
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
       or_iff_not_imp_left.1 (map_eq_top_or_is_maximal_of_surjective f hf.right H) fun h =>
@@ -1825,6 +2935,12 @@ theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := b
 
 end Bijective
 
+/- warning: ideal.ring_equiv.bot_maximal_iff -> Ideal.RingEquiv.bot_maximal_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S], (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))) (NonUnitalNonAssocRing.toMul.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2))) (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} S (NonUnitalRing.toNonUnitalNonAssocRing.{u2} S (Ring.toNonUnitalRing.{u2} S _inst_2)))))) -> (Iff (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (Ideal.IsMaximal.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align ideal.ring_equiv.bot_maximal_iff Ideal.RingEquiv.bot_maximal_iffₓ'. -/
 theorem RingEquiv.bot_maximal_iff (e : R ≃+* S) :
     (⊥ : Ideal R).IsMaximal ↔ (⊥ : Ideal S).IsMaximal :=
   ⟨fun h => @map_bot _ _ _ _ _ _ e.toRingHom ▸ map.isMaximal e.toRingHom e.Bijective h, fun h =>
@@ -1847,6 +2963,12 @@ variable (I J K L)
 
 include rc
 
+/- warning: ideal.map_mul -> Ideal.map_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) I J)) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f J))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) I J)) (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f I) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f J))
+Case conversion may be inaccurate. Consider using '#align ideal.map_mul Ideal.map_mulₓ'. -/
 theorem map_mul : map f (I * J) = map f I * map f J :=
   le_antisymm
     (map_le_iff_le_comap.2 <|
@@ -1861,6 +2983,7 @@ theorem map_mul : map f (I * J) = map f I * map f J :=
               hfri ▸ hfsj ▸ by rw [← map_mul] <;> exact mem_map_of_mem f (mul_mem_mul hri hsj))
 #align ideal.map_mul Ideal.map_mul
 
+#print Ideal.mapHom /-
 /-- The pushforward `ideal.map` as a monoid-with-zero homomorphism. -/
 @[simps]
 def mapHom : Ideal R →*₀ Ideal S where
@@ -1869,11 +2992,24 @@ def mapHom : Ideal R →*₀ Ideal S where
   map_one' := by convert Ideal.map_top f <;> exact one_eq_top
   map_zero' := Ideal.map_bot
 #align ideal.map_hom Ideal.mapHom
+-/
 
+/- warning: ideal.map_pow -> Ideal.map_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (n : Nat), Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) I n)) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f I) n)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (n : Nat), Eq.{succ u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) I n)) (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f I) n)
+Case conversion may be inaccurate. Consider using '#align ideal.map_pow Ideal.map_powₓ'. -/
 protected theorem map_pow (n : ℕ) : map f (I ^ n) = map f I ^ n :=
   map_pow (mapHom f) I n
 #align ideal.map_pow Ideal.map_pow
 
+/- warning: ideal.comap_radical -> Ideal.comap_radical is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) (K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K)) (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) (K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K)) (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K))
+Case conversion may be inaccurate. Consider using '#align ideal.comap_radical Ideal.comap_radicalₓ'. -/
 theorem comap_radical : comap f (radical K) = radical (comap f K) :=
   by
   ext
@@ -1882,6 +3018,12 @@ theorem comap_radical : comap f (radical K) = radical (comap f K) :=
 
 variable {K}
 
+/- warning: ideal.is_radical.comap -> Ideal.IsRadical.comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, (Ideal.IsRadical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) K) -> (Ideal.IsRadical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) (Ideal.comap.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))}, (Ideal.IsRadical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) K) -> (Ideal.IsRadical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K))
+Case conversion may be inaccurate. Consider using '#align ideal.is_radical.comap Ideal.IsRadical.comapₓ'. -/
 theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical :=
   by
   rw [← hK.radical, comap_radical]
@@ -1890,16 +3032,34 @@ theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical :=
 
 variable {I J L}
 
+/- warning: ideal.map_radical_le -> Ideal.map_radical_le is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, LE.le.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Preorder.toLE.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteSemilatticeInf.toPartialOrder.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Submodule.completeLattice.{u2, u2} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (Semiring.toModule.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (Ideal.map.{u1, u2, u3} R S F (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) rc f I))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, LE.le.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Preorder.toLE.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (PartialOrder.toPreorder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.completeLattice.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Ideal.map.{u2, u3, u1} R S F (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) (Ideal.map.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (CommSemiring.toSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)) rc f I))
+Case conversion may be inaccurate. Consider using '#align ideal.map_radical_le Ideal.map_radical_leₓ'. -/
 theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
   map_le_iff_le_comap.2 fun r ⟨n, hrni⟩ => ⟨n, map_pow f r n ▸ mem_map_of_mem f hrni⟩
 #align ideal.map_radical_le Ideal.map_radical_le
 
+/- warning: ideal.le_comap_mul -> Ideal.le_comap_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} {L : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))}, LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HMul.hMul.{u1, u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHMul.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Ideal.hasMul.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f L)) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HMul.hMul.{u2, u2, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHMul.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.hasMul.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) K L))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} {L : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))}, LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (HMul.hMul.{u2, u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHMul.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instMulIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f L)) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HMul.hMul.{u3, u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHMul.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.instMulIdealToSemiring.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2))) K L))
+Case conversion may be inaccurate. Consider using '#align ideal.le_comap_mul Ideal.le_comap_mulₓ'. -/
 theorem le_comap_mul : comap f K * comap f L ≤ comap f (K * L) :=
   map_le_iff_le_comap.1 <|
     (map_mul f (comap f K) (comap f L)).symm ▸
       mul_mono (map_le_iff_le_comap.2 <| le_rfl) (map_le_iff_le_comap.2 <| le_rfl)
 #align ideal.le_comap_mul Ideal.le_comap_mul
 
+/- warning: ideal.le_comap_pow -> Ideal.le_comap_pow is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] [rc : RingHomClass.{u3, u1, u2} F 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 : F) {K : Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))} (n : Nat), LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (HPow.hPow.{u1, 0, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (instHPow.{u1, 0} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) Nat (Monoid.Pow.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))))))) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f K) n) (Ideal.comap.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) rc f (HPow.hPow.{u2, 0, u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (instHPow.{u2, 0} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) Nat (Monoid.Pow.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Submodule.idemSemiring.{u2, u2} S (CommRing.toCommSemiring.{u2} S _inst_2) S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (Algebra.id.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) K n))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))] (f : F) {K : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (n : Nat), LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (HPow.hPow.{u2, 0, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (instHPow.{u2, 0} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) Nat (Monoid.Pow.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (MonoidWithZero.toMonoid.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toMonoidWithZero.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemSemiring.toSemiring.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.idemSemiring.{u2, u2} R (CommRing.toCommSemiring.{u2} R _inst_1) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.id.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))))) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f K) n) (Ideal.comap.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) rc f (HPow.hPow.{u3, 0, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (instHPow.{u3, 0} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Nat (Monoid.Pow.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (MonoidWithZero.toMonoid.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Semiring.toMonoidWithZero.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (IdemSemiring.toSemiring.{u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Submodule.idemSemiring.{u3, u3} S (CommRing.toCommSemiring.{u3} S _inst_2) S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Algebra.id.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2)))))))) K n))
+Case conversion may be inaccurate. Consider using '#align ideal.le_comap_pow Ideal.le_comap_powₓ'. -/
 theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f :=
   by
   induction n
@@ -1919,20 +3079,31 @@ section IsPrimary
 
 variable {R : Type u} [CommSemiring R]
 
+#print Ideal.IsPrimary /-
 /-- A proper ideal `I` is primary iff `xy ∈ I` implies `x ∈ I` or `y ∈ radical I`. -/
 def IsPrimary (I : Ideal R) : Prop :=
   I ≠ ⊤ ∧ ∀ {x y : R}, x * y ∈ I → x ∈ I ∨ y ∈ radical I
 #align ideal.is_primary Ideal.IsPrimary
+-/
 
+#print Ideal.IsPrime.isPrimary /-
 theorem IsPrime.isPrimary {I : Ideal R} (hi : IsPrime I) : IsPrimary I :=
   ⟨hi.1, fun x y hxy => (hi.mem_or_mem hxy).imp id fun hyi => le_radical hyi⟩
 #align ideal.is_prime.is_primary Ideal.IsPrime.isPrimary
+-/
 
+/- warning: ideal.mem_radical_of_pow_mem -> Ideal.mem_radical_of_pow_mem is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : R} {m : Nat}, (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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x m) (Ideal.radical.{u1} R _inst_1 I)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (Ideal.radical.{u1} R _inst_1 I))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)} {x : R} {m : Nat}, (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.instSetLikeSubmodule.{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)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) x m) (Ideal.radical.{u1} R _inst_1 I)) -> (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.instSetLikeSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) x (Ideal.radical.{u1} R _inst_1 I))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_memₓ'. -/
 theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ radical I) :
     x ∈ radical I :=
   radical_idem I ▸ ⟨m, hx⟩
 #align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_mem
 
+#print Ideal.isPrime_radical /-
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
   ⟨mt radical_eq_top.1 hi.1, fun x y ⟨m, hxy⟩ =>
     by
@@ -1940,7 +3111,9 @@ theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :
     · exact Or.inl ⟨m, h⟩
     · exact Or.inr (mem_radical_of_pow_mem h)⟩
 #align ideal.is_prime_radical Ideal.isPrime_radical
+-/
 
+#print Ideal.isPrimary_inf /-
 theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     (hij : radical I = radical J) : IsPrimary (I ⊓ J) :=
   ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1), fun x y ⟨hxyi, hxyj⟩ =>
@@ -1952,6 +3125,7 @@ theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     · rw [hij] at hyi
       exact Or.inr hyi⟩
 #align ideal.is_primary_inf Ideal.isPrimary_inf
+-/
 
 end IsPrimary
 
@@ -1965,6 +3139,12 @@ variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
 open BigOperators
 
+/- warning: ideal.finsupp_total -> Ideal.finsuppTotal is a dubious translation:
+lean 3 declaration is
+  forall (ι : Type.{u1}) (M : Type.{u2}) [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))), (ι -> M) -> (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3)
+but is expected to have type
+  forall (ι : Type.{u1}) (M : Type.{u2}) [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))), (ι -> M) -> (LinearMap.{u3, u3, max u3 u1, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (Subtype.{succ u3} R (fun (x : R) => Membership.mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I)) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3)
+Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total Ideal.finsuppTotalₓ'. -/
 /-- A variant of `finsupp.total` that takes in vectors valued in `I`. -/
 noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
   (Finsupp.total ι M R v).comp (Finsupp.mapRange.linearMap I.Subtype)
@@ -1972,6 +3152,12 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 
 variable {ι M v}
 
+/- warning: ideal.finsupp_total_apply -> Ideal.finsuppTotal_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u1, u3, u2} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) M (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) f (fun (i : ι) (x : coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) x) (v i)))
+but is expected to have type
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finsupp.sum.{u3, u2, u1} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) M (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) f (fun (i : ι) (x : Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) x) (v i)))
+Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply Ideal.finsuppTotal_applyₓ'. -/
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum fun i x => (x : R) • v i :=
   by
   dsimp [finsupp_total]
@@ -1979,6 +3165,12 @@ theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.Sum f
   exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply Ideal.finsuppTotal_apply
 
+/- warning: ideal.finsupp_total_apply_eq_of_fintype -> Ideal.finsuppTotal_apply_eq_of_fintype is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u1} ι] (f : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)), Eq.{succ u2} M (coeFn.{max (succ (max u1 u3)) (succ u2), max (succ (max u1 u3)) (succ u2)} (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (fun (_x : LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) => (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) -> M) (LinearMap.hasCoeToFun.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u2, u1} M ι (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finset.univ.{u1} ι _inst_4) (fun (i : ι) => SMul.smul.{u3, u2} R M (SMulZeroClass.toHasSmul.{u3, u2} R M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (SMulWithZero.toSmulZeroClass.{u3, u2} R M (MulZeroClass.toHasZero.{u3} R (MulZeroOneClass.toMulZeroClass.{u3} R (MonoidWithZero.toMulZeroOneClass.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)))) (Module.toMulActionWithZero.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3)))) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (coeSubtype.{succ u3} R (fun (x : R) => Membership.Mem.{u3, u3} R (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (fun (_x : Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I)) (Finsupp.coeFun.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) f i)) (v i)))
+but is expected to have type
+  forall {ι : Type.{u3}} {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M} [_inst_4 : Fintype.{u3} ι] (f : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) f) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), succ u1} (LinearMap.{u2, u2, max u2 u3, u1} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (fun (_x : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6178 : Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) => M) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, max u3 u2, u1} R R (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finsupp.module.{u3, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Ideal.finsuppTotal.{u3, u1, u2} ι M _inst_1 R _inst_2 _inst_3 I v) f) (Finset.sum.{u1, u3} M ι (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (Finset.univ.{u3} ι _inst_4) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R M M (instHSMul.{u2, u1} R M (SMulZeroClass.toSMul.{u2, u1} R M (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (SMulWithZero.toSMulZeroClass.{u2, u1} R M (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (MulActionWithZero.toSMulWithZero.{u2, u1} R M (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (NegZeroClass.toZero.{u1} M (SubNegZeroMonoid.toNegZeroClass.{u1} M (SubtractionMonoid.toSubNegZeroMonoid.{u1} M (SubtractionCommMonoid.toSubtractionMonoid.{u1} M (AddCommGroup.toDivisionAddCommMonoid.{u1} M _inst_1))))) (Module.toMulActionWithZero.{u2, u1} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) _inst_3))))) (Subtype.val.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Set.{u2} R) (Set.instMembershipSet.{u2} R) x (SetLike.coe.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) I)) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (Finsupp.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) ι (fun (_x : ι) => (fun (x._@.Mathlib.Data.Finsupp.Defs._hyg.779 : ι) => Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) _x) (Finsupp.funLike.{u3, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) f i)) (v i)))
+Case conversion may be inaccurate. Consider using '#align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintypeₓ'. -/
 theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
     finsuppTotal ι M I v f = ∑ i, (f i : R) • v i :=
   by
@@ -1986,6 +3178,12 @@ theorem finsuppTotal_apply_eq_of_fintype [Fintype ι] (f : ι →₀ I) :
   exact fun _ => zero_smul _ _
 #align ideal.finsupp_total_apply_eq_of_fintype Ideal.finsuppTotal_apply_eq_of_fintype
 
+/- warning: ideal.range_finsupp_total -> Ideal.range_finsuppTotal is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {M : Type.{u2}} [_inst_1 : AddCommGroup.{u2} M] {R : Type.{u3}} [_inst_2 : CommRing.{u3} R] [_inst_3 : Module.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1)] (I : Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) {v : ι -> M}, Eq.{succ u2} (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (LinearMap.range.{u3, u3, max u1 u3, u2, max (max u1 u3) u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (LinearMap.{u3, u3, max u1 u3, u2} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)))) (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3) (LinearMap.semilinearMapClass.{u3, u3, max u1 u3, u2} R R (Finsupp.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.hasZero.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Finsupp.addCommMonoid.{u1, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) (Finsupp.module.{u1, u3, u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) R (Submodule.setLike.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) I) R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I) (Submodule.module.{u3, u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) I)) _inst_3 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))))) (RingHomSurjective.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Ideal.finsuppTotal.{u1, u2, u3} ι M _inst_1 R _inst_2 _inst_3 I v)) (SMul.smul.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2))) (Submodule.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) (Submodule.hasSmul'.{u3, u2} R M (CommRing.toCommSemiring.{u3} R _inst_2) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3) I (Submodule.span.{u3, u2} R M (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u2} M _inst_1) _inst_3 (Set.range.{u2, succ u1} M ι v)))
+but is expected to have type
+  forall {ι : Type.{u1}} {M : Type.{u3}} [_inst_1 : AddCommGroup.{u3} M] {R : Type.{u2}} [_inst_2 : CommRing.{u2} R] [_inst_3 : Module.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1)] (I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) {v : ι -> M}, Eq.{succ u3} (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (LinearMap.range.{u2, u2, max u1 u2, u3, max (max u1 u3) u2} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (LinearMap.{u2, u2, max u2 u1, u3} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)))) (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, max u1 u2, u3} R R (Finsupp.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Finsupp.addCommMonoid.{u1, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) (Finsupp.module.{u1, u2, u2} ι (Subtype.{succ u2} R (fun (x : R) => Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) x I)) R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) I)) _inst_3 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Ideal.finsuppTotal.{u1, u3, u2} ι M _inst_1 R _inst_2 _inst_3 I v)) (HSMul.hSMul.{u2, u3, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (instHSMul.{u2, u3} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2))) (Submodule.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3) (Submodule.hasSmul'.{u2, u3} R M (CommRing.toCommSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3)) I (Submodule.span.{u2, u3} R M (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (AddCommGroup.toAddCommMonoid.{u3} M _inst_1) _inst_3 (Set.range.{u3, succ u1} M ι v)))
+Case conversion may be inaccurate. Consider using '#align ideal.range_finsupp_total Ideal.range_finsuppTotalₓ'. -/
 theorem range_finsuppTotal : (finsuppTotal ι M I v).range = I • Submodule.span R (Set.range v) :=
   by
   ext
@@ -2008,6 +3206,12 @@ section Basis
 
 variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
+/- warning: ideal.basis_span_singleton -> Ideal.basisSpanSingleton is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) -> (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))))
+but is expected to have type
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))], (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) -> (forall {x : S}, (Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))) -> (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))
+Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton Ideal.basisSpanSingletonₓ'. -/
 /-- A basis on `S` gives a basis on `ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
@@ -2020,6 +3224,12 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
+/- warning: ideal.basis_span_singleton_apply -> Ideal.basisSpanSingleton_apply is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))) (i : ι), Eq.{succ u3} S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u3, u3, u3} S S S (instHMul.{u3} S (Distrib.toHasMul.{u3} S (Ring.toDistrib.{u3} S (CommRing.toRing.{u3} S _inst_2)))) x (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (fun (_x : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) => ι -> S) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) ι (fun (_x : ι) => S) (Basis.funLike.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) b i))
+but is expected to have type
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : IsDomain.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] [_inst_4 : Algebra.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] (b : Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u1} S x (OfNat.ofNat.{u1} S 0 (Zero.toOfNat0.{u1} S (CommMonoidWithZero.toZero.{u1} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} S (IsDomain.toCancelCommMonoidWithZero.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) _inst_3)))))) (i : ι), Eq.{succ u1} S (Subtype.val.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x_1 (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x_1 : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x_1 (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x))) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.span.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u1} R S _inst_1 (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u3, u2, u1} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx) i)) (HMul.hMul.{u1, u1, u1} S ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) i) S (instHMul.{u1} S (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) x (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => S) _x) (Basis.funLike.{u3, u2, u1} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u1} R S _inst_1 _inst_2 _inst_4)) b i))
+Case conversion may be inaccurate. Consider using '#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_applyₓ'. -/
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
     (basisSpanSingleton b hx i : S) = x * b i := by
@@ -2028,6 +3238,12 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     LinearEquiv.restrictScalars_apply, LinearMap.Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
+/- warning: ideal.constr_basis_span_singleton -> Ideal.constr_basisSpanSingleton is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toHasSmul.{u4, u3} N S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u4, u3} N S (MulZeroClass.toHasZero.{u4} N (MulZeroOneClass.toMulZeroClass.{u4} N (MonoidWithZero.toMulZeroOneClass.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (OfNat.mk.{u3} S 0 (Zero.zero.{u3} S (MulZeroClass.toHasZero.{u3} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (coeFn.{max (succ (max u1 u3)) (succ u3), max (succ (max u1 u3)) (succ u3)} (LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) (fun (_x : LinearEquiv.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7)) => (ι -> S) -> (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearEquiv.hasCoeToFun.{u4, u4, max u1 u3, u3} N N (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_5 _inst_5 (Pi.addCommMonoid.{u1, u3} ι (fun (ᾰ : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.Function.module.{u1, u4, u3} ι N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) _inst_6) (LinearMap.module.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5)) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) b N _inst_5 _inst_6 _inst_7) (Function.comp.{succ u1, succ u3, succ u3} ι (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) S (coeSubtype.{succ u3} S (fun (x_1 : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)))) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.hasSingleton.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Ideal.basisSpanSingleton._proof_1.{u2, u3} R S _inst_1 _inst_2 _inst_4)))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (coeFn.{succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (fun (_x : AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) => S -> (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ([anonymous].{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.End.algebra.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+but is expected to have type
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] [_inst_4 : Algebra.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {N : Type.{u4}} [_inst_5 : Semiring.{u4} N] [_inst_6 : Module.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))] [_inst_7 : SMulCommClass.{u2, u4, u3} R N S (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (SMulZeroClass.toSMul.{u4, u3} N S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (SMulWithZero.toSMulZeroClass.{u4, u3} N S (MonoidWithZero.toZero.{u4} N (Semiring.toMonoidWithZero.{u4} N _inst_5)) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u3} N S (Semiring.toMonoidWithZero.{u4} N _inst_5) (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3))) (Module.toMulActionWithZero.{u4, u3} N S _inst_5 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) _inst_6))))] (b : Basis.{u1, u2, u3} ι R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) {x : S} (hx : Ne.{succ u3} S x (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (CommMonoidWithZero.toZero.{u3} S (CancelCommMonoidWithZero.toCommMonoidWithZero.{u3} S (IsDomain.toCancelCommMonoidWithZero.{u3} S (CommRing.toCommSemiring.{u3} S _inst_2) _inst_3)))))), Eq.{succ u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddHom.toFun.{max u1 u3, u3} (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddZeroClass.toAdd.{max u1 u3} (ι -> S) (AddMonoid.toAddZeroClass.{max u1 u3} (ι -> S) (AddCommMonoid.toAddMonoid.{max u1 u3} (ι -> S) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))))))) (AddZeroClass.toAdd.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddMonoid.toAddZeroClass.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))))))) (LinearMap.toAddHom.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (LinearEquiv.toLinearMap.{u4, u4, max u1 u3, u3} N N _inst_5 _inst_5 (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHom.id.{u4} N (Semiring.toNonAssocSemiring.{u4} N _inst_5)) (RingHomInvPair.ids.{u4} N _inst_5) (RingHomInvPair.ids.{u4} N _inst_5) (ι -> S) (LinearMap.{u2, u2, u3, u3} R R (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) S S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4)) (Pi.addCommMonoid.{u1, u3} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u3} R R S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Pi.module.{u1, u3, u4} ι (fun (a._@.Mathlib.LinearAlgebra.Basis._hyg.7640 : ι) => S) N _inst_5 (fun (i : ι) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (fun (i : ι) => _inst_6)) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u4, u3, u3} R R N S S (CommSemiring.toSemiring.{u2} R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) _inst_5 _inst_6 _inst_7) (Basis.constr.{u1, u2, u3, u3, u4} ι R S S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} S (NonUnitalRing.toNonUnitalNonAssocRing.{u3} S (NonUnitalCommRing.toNonUnitalRing.{u3} S (CommRing.toNonUnitalCommRing.{u3} S _inst_2))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u2, u3} R S _inst_1 _inst_2 _inst_4) b N _inst_5 _inst_6 _inst_7))) (Function.comp.{succ u1, succ u3, succ u3} ι (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) S (Subtype.val.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Set.{u3} S) (Set.instMembershipSet.{u3} S) x_1 (SetLike.coe.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) _x) (Basis.funLike.{u1, u2, u3} ι R (Subtype.{succ u3} S (fun (x_1 : S) => Membership.mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.instMembership.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x_1 (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)))) (CommSemiring.toSemiring.{u2} R _inst_1) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x))) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (Ideal.span.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) x)) (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.toSMul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) (IsScalarTower.right.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (Ideal.basisSpanSingleton.{u1, u2, u3} ι R S _inst_1 _inst_2 _inst_3 _inst_4 b x hx)))) (FunLike.coe.{succ u3, succ u3, succ u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) S (fun (_x : S) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : S) => Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _x) (SMulHomClass.toFunLike.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (SMulZeroClass.toSMul.{u2, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u3} R S (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (SMulZeroClass.toSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toZero.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribSMul.toSMulZeroClass.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddMonoid.toAddZeroClass.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulAction.toDistribSMul.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (DistribMulActionHomClass.toSMulHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{u3, u2, u3, u3} (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (Module.toDistribMulAction.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.toDistribMulAction.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Semiring.toNonAssocSemiring.{u3} (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))) (Algebra.toModule.{u2, u3} R (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, u3, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) (AlgHom.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))) (AlgHom.algHomClass.{u2, u3, u3} R S (Module.End.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (Module.End.semiring.{u2, u3} R S (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4)) _inst_4 (Module.instAlgebraEndToSemiringSemiring.{u2, u3} R S _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4))))))) (LinearMap.Algebra.lmul.{u2, u3} R S _inst_1 (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_4) x)
+Case conversion may be inaccurate. Consider using '#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingletonₓ'. -/
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -2040,11 +3256,23 @@ end Basis
 
 end Ideal
 
+/- warning: associates.mk_ne_zero' -> Associates.mk_ne_zero' is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {r : R}, Iff (Ne.{succ u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) r))) (OfNat.ofNat.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (OfNat.mk.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (Zero.zero.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.hasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MulZeroClass.toHasZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))))) (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {r : R}, Iff (Ne.{succ u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.mk.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) r))) (OfNat.ofNat.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Associates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Associates.instZeroAssociates.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommMonoidWithZero.toZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (CommSemiring.toCommMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemCommSemiring.toCommSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Ideal.instIdemCommSemiringIdealToSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toMonoidWithZero.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IdemSemiring.toSemiring.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.idemSemiring.{u1, u1} R _inst_1 R (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (Ne.{succ u1} R r (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align associates.mk_ne_zero' Associates.mk_ne_zero'ₓ'. -/
 theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
 
+/- warning: basis.mem_ideal_iff -> Basis.mem_ideal_iff is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u3} S] [_inst_3 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I) (Exists.{max (succ u1) (succ u2)} (Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) (fun (c : Finsupp.{u1, u2} ι R (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1))))))) => Eq.{succ u3} S x (Finsupp.sum.{u1, u2, u3} ι R S (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_1)))))) (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_2))))) c (fun (i : ι) (x : R) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) x ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_2)) _inst_3)))) b i))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] [_inst_3 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I) (Exists.{max (succ u3) (succ u2)} (Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) (fun (c : Finsupp.{u3, u2} ι R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) => Eq.{succ u1} S x (Finsupp.sum.{u3, u2, u1} ι R S (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (NonUnitalCommRing.toNonUnitalRing.{u1} S (CommRing.toNonUnitalCommRing.{u1} S _inst_2))))) c (fun (i : ι) (x : R) => HSMul.hSMul.{u2, u1, u1} R S S (instHSMul.{u2, u1} R S (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3)) x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) I)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) ι (fun (_x : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) _x) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) _inst_3))) b i))))))
+Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff Basis.mem_ideal_iffₓ'. -/
 /-- If `I : ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
@@ -2052,6 +3280,12 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff
 #align basis.mem_ideal_iff Basis.mem_ideal_iff
 
+/- warning: basis.mem_ideal_iff' -> Basis.mem_ideal_iff' is a dubious translation:
+lean 3 declaration is
+  forall {ι : Type.{u1}} {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Fintype.{u1} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u3} S] [_inst_4 : Algebra.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))] {I : Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))} (b : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I) (Exists.{max (succ u1) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u3} S x (Finset.sum.{u3, u1} S ι (AddCommGroup.toAddCommMonoid.{u3} S (NonUnitalNonAssocRing.toAddCommGroup.{u3} S (NonAssocRing.toNonUnitalNonAssocRing.{u3} S (Ring.toNonAssocRing.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Finset.univ.{u1} ι _inst_1) (fun (i : ι) => SMul.smul.{u2, u3} R S (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (c i) ((fun (a : Type.{u3}) (b : Type.{u3}) [self : HasLiftT.{succ u3, succ u3} a b] => self.0) (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (HasLiftT.mk.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (CoeTCₓ.coe.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeBase.{succ u3, succ u3} (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) S (coeSubtype.{succ u3} S (fun (x : S) => Membership.Mem.{u3, u3} S (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) (SetLike.hasMem.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) x I))))) (coeFn.{max (succ u1) (succ u2) (succ u3), max (succ u1) (succ u3)} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) (fun (_x : Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) => ι -> (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I)) (FunLike.hasCoeToFun.{max (succ u1) (succ u2) (succ u3), succ u1, succ u3} (Basis.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))) ι (fun (_x : ι) => coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Basis.funLike.{u1, u2, u3} ι R (coeSort.{succ u3, succ (succ u3)} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) Type.{u3} (SetLike.hasCoeToSort.{u3, u3} (Ideal.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) S (Submodule.setLike.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) I) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.addCommMonoid.{u3, u3} S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I) (Submodule.module'.{u2, u3, u3} R S S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Semiring.toModule.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (SMulZeroClass.toHasSmul.{u2, u3} R S (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} R S (MulZeroClass.toHasZero.{u2} R (MulZeroOneClass.toMulZeroClass.{u2} R (MonoidWithZero.toMulZeroOneClass.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)))))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} R S (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2))) (AddZeroClass.toHasZero.{u3} S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)))))))) (Module.toMulActionWithZero.{u2, u3} R S (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4))))) (Algebra.toModule.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u3} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u3} S (CommRing.toRing.{u3} S _inst_3)) _inst_4)))) b i))))))
+but is expected to have type
+  forall {ι : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Fintype.{u3} ι] [_inst_2 : CommRing.{u2} R] [_inst_3 : CommRing.{u1} S] [_inst_4 : Algebra.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))] {I : Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))} (b : Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) {x : S}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I) (Exists.{max (succ u3) (succ u2)} (ι -> R) (fun (c : ι -> R) => Eq.{succ u1} S x (Subtype.val.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Set.{u1} S) (Set.instMembershipSet.{u1} S) x (SetLike.coe.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)))) I)) (Finset.sum.{u1, u3} (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) ι (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Finset.univ.{u3} ι _inst_1) (fun (i : ι) => HSMul.hSMul.{u2, u1, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (instHSMul.{u2, u1} R ((fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) i) (Submodule.instSMulSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) (c i) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, succ u1} (Basis.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) ι (fun (a : ι) => (fun (x._@.Mathlib.LinearAlgebra.Basis._hyg.546 : ι) => Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) a) (Basis.funLike.{u3, u2, u1} ι R (Subtype.{succ u1} S (fun (x : S) => Membership.mem.{u1, u1} S (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) x I)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u1} S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I) (Submodule.module'.{u2, u1, u1} R S S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))))) (Semiring.toModule.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3))) I (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_2)) (Algebra.toSMul.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (Algebra.toModule.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4) (IsScalarTower.right.{u2, u1} R S (CommRing.toCommSemiring.{u2} R _inst_2) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_3)) _inst_4))) b i))))))
+Case conversion may be inaccurate. Consider using '#align basis.mem_ideal_iff' Basis.mem_ideal_iff'ₓ'. -/
 /-- If `I : ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff' {ι R S : Type _} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
@@ -2071,31 +3305,63 @@ variable [rcf : RingHomClass F R S] [rcg : RingHomClass G T S] (f : F) (g : G)
 
 include rcf
 
+#print RingHom.ker /-
 /-- Kernel of a ring homomorphism as an ideal of the domain. -/
 def ker : Ideal R :=
   Ideal.comap f ⊥
 #align ring_hom.ker RingHom.ker
+-/
 
+/- warning: ring_hom.mem_ker -> RingHom.mem_ker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F) {r : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) r (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f r) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F) {r : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) r (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f r) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) r) _inst_2)))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.mem_ker RingHom.mem_kerₓ'. -/
 /-- An element is in the kernel if and only if it maps to zero.-/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
 #align ring_hom.mem_ker RingHom.mem_ker
 
+/- warning: ring_hom.ker_eq -> RingHom.ker_eq is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Set.{u1} R) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} R _inst_1) (Set.{u1} R) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} R _inst_1) (Set.{u1} R) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u1, u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{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)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rcf)))) f) (Singleton.singleton.{u2, u2} S (Set.{u2} S) (Set.hasSingleton.{u2} S) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Set.{u2} R) (SetLike.coe.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f)) (Set.preimage.{u2, u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rcf))) f) (Singleton.singleton.{u3, u3} S (Set.{u3} S) (Set.instSingletonSet.{u3} S) (OfNat.ofNat.{u3} S 0 (Zero.toOfNat0.{u3} S (MonoidWithZero.toZero.{u3} S (Semiring.toMonoidWithZero.{u3} S _inst_2))))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq RingHom.ker_eqₓ'. -/
 theorem ker_eq : (ker f : Set R) = Set.preimage f {0} :=
   rfl
 #align ring_hom.ker_eq RingHom.ker_eq
 
+/- warning: ring_hom.ker_eq_comap_bot -> RingHom.ker_eq_comap_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Eq.{succ u1} (Ideal.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Eq.{succ u2} (Ideal.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f (Bot.bot.{u3} (Ideal.{u3} S _inst_2) (Submodule.instBotSubmodule.{u3, u3} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Semiring.toModule.{u3} S _inst_2))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_comap_bot RingHom.ker_eq_comap_botₓ'. -/
 theorem ker_eq_comap_bot (f : F) : ker f = Ideal.comap f ⊥ :=
   rfl
 #align ring_hom.ker_eq_comap_bot RingHom.ker_eq_comap_bot
 
 omit rcf
 
+/- warning: ring_hom.comap_ker -> RingHom.comap_ker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : Semiring.{u3} T] (f : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (g : RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.comap.{u3, u2, max u3 u2} T S (RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_3 _inst_2 (RingHom.ringHomClass.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) g (RingHom.ker.{u2, u1, max u2 u1} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_2 _inst_1 (RingHom.ringHomClass.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) f)) (RingHom.ker.{u3, u1, max u3 u1} T R (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_3 _inst_1 (RingHom.ringHomClass.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.comp.{u3, u2, u1} T S R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) f g))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} {T : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : Semiring.{u3} T] (f : RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (g : RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)), Eq.{succ u3} (Ideal.{u3} T _inst_3) (Ideal.comap.{u3, u2, max u2 u3} T S (RingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) _inst_3 _inst_2 (RingHom.instRingHomClassRingHom.{u3, u2} T S (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) g (RingHom.ker.{u2, u1, max u1 u2} S R (RingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_2 _inst_1 (RingHom.instRingHomClassRingHom.{u2, u1} S R (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) f)) (RingHom.ker.{u3, u1, max u1 u3} T R (RingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) _inst_3 _inst_1 (RingHom.instRingHomClassRingHom.{u3, u1} T R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.comp.{u3, u2, u1} T S R (Semiring.toNonAssocSemiring.{u3} T _inst_3) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (Semiring.toNonAssocSemiring.{u1} R _inst_1) f g))
+Case conversion may be inaccurate. Consider using '#align ring_hom.comap_ker RingHom.comap_kerₓ'. -/
 theorem comap_ker (f : S →+* R) (g : T →+* S) : f.ker.comap g = (f.comp g).ker := by
   rw [RingHom.ker_eq_comap_bot, Ideal.comap_comap, RingHom.ker_eq_comap_bot]
 #align ring_hom.comap_ker RingHom.comap_ker
 
 include rcf
 
+/- warning: ring_hom.not_one_mem_ker -> RingHom.not_one_mem_ker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] [_inst_4 : Nontrivial.{u2} S] (f : F), Not (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_1) R (Submodule.setLike.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1))) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Not (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_1) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1))) (OfNat.ofNat.{u2} R 1 (One.toOfNat1.{u2} R (Semiring.toOne.{u2} R _inst_1))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f))
+Case conversion may be inaccurate. Consider using '#align ring_hom.not_one_mem_ker RingHom.not_one_mem_kerₓ'. -/
 /-- If the target is not the zero ring, then one is not in the kernel.-/
 theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f :=
   by
@@ -2103,6 +3369,12 @@ theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f :=
   exact one_ne_zero
 #align ring_hom.not_one_mem_ker RingHom.not_one_mem_ker
 
+/- warning: ring_hom.ker_ne_top -> RingHom.ker_ne_top is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rcf : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] [_inst_4 : Nontrivial.{u2} S] (f : F), Ne.{succ u1} (Ideal.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rcf f) (Top.top.{u1} (Ideal.{u1} R _inst_1) (Submodule.hasTop.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rcf : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] [_inst_4 : Nontrivial.{u3} S] (f : F), Ne.{succ u2} (Ideal.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rcf f) (Top.top.{u2} (Ideal.{u2} R _inst_1) (Submodule.instTopSubmodule.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_ne_top RingHom.ker_ne_topₓ'. -/
 theorem ker_ne_top [Nontrivial S] (f : F) : ker f ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr <| not_one_mem_ker f
 #align ring_hom.ker_ne_top RingHom.ker_ne_top
@@ -2117,23 +3389,47 @@ variable {F : Type _} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
 
 include rc
 
+/- warning: ring_hom.injective_iff_ker_eq_bot -> RingHom.injective_iff_ker_eq_bot is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1)))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Function.Injective.{succ u2, succ u3} R S (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_botₓ'. -/
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ :=
   by
   rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]
   exact injective_iff_map_eq_zero' f
 #align ring_hom.injective_iff_ker_eq_bot RingHom.injective_iff_ker_eq_bot
 
+/- warning: ring_hom.ker_eq_bot_iff_eq_zero -> RingHom.ker_eq_bot_iff_eq_zero is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] (f : F), Iff (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) _inst_2 rc f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))) (forall (x : R), (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) rc)))) f x) (OfNat.ofNat.{u2} S 0 (OfNat.mk.{u2} S 0 (Zero.zero.{u2} S (MulZeroClass.toHasZero.{u2} S (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))))) -> (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (OfNat.mk.{u1} R 0 (Zero.zero.{u1} R (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))))))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] (f : F), Iff (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) _inst_2 rc f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))) (forall (x : R), (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) rc))) f x) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (MonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (Semiring.toMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) _inst_2))))) -> (Eq.{succ u2} R x (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (MonoidWithZero.toZero.{u2} R (Semiring.toMonoidWithZero.{u2} R (Ring.toSemiring.{u2} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zeroₓ'. -/
 theorem ker_eq_bot_iff_eq_zero : ker f = ⊥ ↔ ∀ x, f x = 0 → x = 0 := by
   rw [← injective_iff_map_eq_zero f, injective_iff_ker_eq_bot]
 #align ring_hom.ker_eq_bot_iff_eq_zero RingHom.ker_eq_bot_iff_eq_zero
 
 omit rc
 
+/- warning: ring_hom.ker_coe_equiv -> RingHom.ker_coe_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{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 (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.ringEquivClass.{u1, u2} R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] (f : RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))))), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingHom.instRingHomClassRingHom.{u1, u2} R S (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2)) (RingHomClass.toRingHom.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{max u1 u2, u1, u2} (RingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (Ring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) (RingEquiv.instRingEquivClassRingEquiv.{u1, u2} R S (NonUnitalNonAssocRing.toMul.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{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 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonUnitalRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonUnitalRing.{u1} R _inst_1))))) (Distrib.toAdd.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2)))))) f)) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_coe_equiv RingHom.ker_coe_equivₓ'. -/
 @[simp]
 theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_coe_equiv RingHom.ker_coe_equiv
 
+/- warning: ring_hom.ker_equiv -> RingHom.ker_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Semiring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{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 : F'), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (RingHom.ker.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S _inst_2) _inst_3) f) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} [_inst_1 : Ring.{u2} R] [_inst_2 : Semiring.{u3} S] {F' : Type.{u1}} [_inst_3 : RingEquivClass.{u1, u2, u3} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))) (Distrib.toAdd.{u3} S (NonUnitalNonAssocSemiring.toDistrib.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S _inst_2))))] (f : F'), Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (RingHom.ker.{u2, u3, u1} R S F' (Ring.toSemiring.{u2} R _inst_1) _inst_2 (RingEquivClass.toRingHomClass.{u1, u2, u3} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S _inst_2) _inst_3) f) (Bot.bot.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Submodule.instBotSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_equiv RingHom.ker_equivₓ'. -/
 @[simp]
 theorem ker_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
@@ -2147,11 +3443,23 @@ variable {F : Type _} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
 
 include rc
 
+/- warning: ring_hom.sub_mem_ker_iff -> RingHom.sub_mem_ker_iff is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{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 (NonAssocRing.toAddGroupWithOne.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)))))) x y) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f)) (Eq.{succ u2} S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f x) (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f y))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F) {x : R} {y : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)) R (Submodule.instSetLikeSubmodule.{u2, u2} R R (Ring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (HSub.hSub.{u2, u2, u2} R R R (instHSub.{u2} R (Ring.toSub.{u2} R _inst_1)) x y) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) rc f)) (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f x) (FunLike.coe.{succ u1, succ u2, succ u3} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u2, u3} F R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u2, u3} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2)) rc))) f y))
+Case conversion may be inaccurate. Consider using '#align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iffₓ'. -/
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
 
 end RingRing
 
+/- warning: ring_hom.ker_is_prime -> RingHom.ker_isPrime is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [_inst_3 : IsDomain.{u2} S (Ring.toSemiring.{u2} S _inst_2)] [_inst_4 : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] (f : F), Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) _inst_4 f)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u3} S] [_inst_3 : IsDomain.{u3} S (Ring.toSemiring.{u3} S _inst_2)] [_inst_4 : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (Ring.toSemiring.{u3} S _inst_2))] (f : F), Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) (RingHom.ker.{u2, u3, u1} R S F (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u3} S _inst_2) _inst_4 f)
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_prime RingHom.ker_isPrimeₓ'. -/
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
 theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
@@ -2161,6 +3469,12 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
+/- warning: ring_hom.ker_is_maximal_of_surjective -> RingHom.ker_isMaximal_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {K : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u1, succ u2} R K (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> K) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => K) (MulHomClass.toFunLike.{u3, u1, u2} F R K (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} K (NonUnitalNonAssocSemiring.toDistrib.{u2} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R K (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} K (Ring.toNonAssocRing.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2)))) _inst_3)))) f)) -> (Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R _inst_1) (RingHom.ker.{u1, u2, u3} R K F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} K (DivisionRing.toRing.{u2} K (Field.toDivisionRing.{u2} K _inst_2))) _inst_3 f))
+but is expected to have type
+  forall {R : Type.{u3}} {K : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Field.{u2} K] [_inst_3 : RingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))] (f : F), (Function.Surjective.{succ u3, succ u2} R K (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => K) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R K (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} 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_2)))))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} K (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R K (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} K (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2)))) _inst_3))) f)) -> (Ideal.IsMaximal.{u3} R (Ring.toSemiring.{u3} R _inst_1) (RingHom.ker.{u3, u2, u1} R K F (Ring.toSemiring.{u3} R _inst_1) (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_2))) _inst_3 f))
+Case conversion may be inaccurate. Consider using '#align ring_hom.ker_is_maximal_of_surjective RingHom.ker_isMaximal_of_surjectiveₓ'. -/
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
 theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
     (hf : Function.Surjective f) : (ker f).IsMaximal :=
@@ -2188,10 +3502,22 @@ variable [Semiring R] [Semiring S] [rc : RingHomClass F R S]
 
 include rc
 
+/- warning: ideal.map_eq_bot_iff_le_ker -> Ideal.map_eq_bot_iff_le_ker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u1} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.hasBot.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) I (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {I : Ideal.{u3} R _inst_1} (f : F), Iff (Eq.{succ u2} (Ideal.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F _inst_1 _inst_2 rc f I) (Bot.bot.{u2} (Ideal.{u2} S _inst_2) (Submodule.instBotSubmodule.{u2, u2} S S _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S _inst_2))) (Semiring.toModule.{u2} S _inst_2)))) (LE.le.{u3} (Ideal.{u3} R _inst_1) (Preorder.toLE.{u3} (Ideal.{u3} R _inst_1) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R _inst_1) (Submodule.completeLattice.{u3, u3} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1))) (Semiring.toModule.{u3} R _inst_1)))))) I (RingHom.ker.{u3, u2, u1} R S F _inst_1 _inst_2 rc f))
+Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_kerₓ'. -/
 theorem map_eq_bot_iff_le_ker {I : Ideal R} (f : F) : I.map f = ⊥ ↔ I ≤ RingHom.ker f := by
   rw [RingHom.ker, eq_bot_iff, map_le_iff_le_comap]
 #align ideal.map_eq_bot_iff_le_ker Ideal.map_eq_bot_iff_le_ker
 
+/- warning: ideal.ker_le_comap -> Ideal.ker_le_comap is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (Semiring.toNonAssocSemiring.{u1} R _inst_1) (Semiring.toNonAssocSemiring.{u2} S _inst_2)] {K : Ideal.{u2} S _inst_2} (f : F), LE.le.{u1} (Ideal.{u1} R _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} R _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_1) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R _inst_1) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R _inst_1) (Submodule.completeLattice.{u1, u1} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (Semiring.toModule.{u1} R _inst_1)))))) (RingHom.ker.{u1, u2, u3} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u1, u2, u3} R S F _inst_1 _inst_2 rc f K)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u3}} {F : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_2 : Semiring.{u3} S] [rc : RingHomClass.{u1, u2, u3} F R S (Semiring.toNonAssocSemiring.{u2} R _inst_1) (Semiring.toNonAssocSemiring.{u3} S _inst_2)] {K : Ideal.{u3} S _inst_2} (f : F), LE.le.{u2} (Ideal.{u2} R _inst_1) (Preorder.toLE.{u2} (Ideal.{u2} R _inst_1) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R _inst_1) (Submodule.completeLattice.{u2, u2} R R _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1))) (Semiring.toModule.{u2} R _inst_1)))))) (RingHom.ker.{u2, u3, u1} R S F _inst_1 _inst_2 rc f) (Ideal.comap.{u2, u3, u1} R S F _inst_1 _inst_2 rc f K)
+Case conversion may be inaccurate. Consider using '#align ideal.ker_le_comap Ideal.ker_le_comapₓ'. -/
 theorem ker_le_comap {K : Ideal S} (f : F) : RingHom.ker f ≤ comap f K := fun x hx =>
   mem_comap.2 (((RingHom.mem_ker f).1 hx).symm ▸ K.zero_mem)
 #align ideal.ker_le_comap Ideal.ker_le_comap
@@ -2204,6 +3530,12 @@ variable [Ring R] [Ring S] [rc : RingHomClass F R S]
 
 include rc
 
+/- warning: ideal.map_Inf -> Ideal.map_infₛ is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {A : Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))} {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall (J : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)), (Membership.Mem.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Set.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) (Set.hasMem.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1))) J A) -> (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasInf.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasInf.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u1, u2} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {A : Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))} {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall (J : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)), (Membership.mem.{u3, u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Set.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (Set.instMembershipSet.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1))) J A) -> (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) J)) -> (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f (InfSet.infₛ.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instInfSetSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))) A)) (InfSet.infₛ.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instInfSetSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (Set.image.{u3, u2} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) A)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_Inf Ideal.map_infₛₓ'. -/
 theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (infₛ A) = infₛ (map f '' A) :=
   by
@@ -2226,6 +3558,12 @@ theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     simpa only [sub_add_cancel] using J.add_mem this hx'
 #align ideal.map_Inf Ideal.map_infₛ
 
+/- warning: ideal.map_is_prime_of_surjective -> Ideal.map_isPrime_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [H : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))) (RingHom.ker.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {f : F}, (Function.Surjective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (forall {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} [H : Ideal.IsPrime.{u3} R (Ring.toSemiring.{u3} R _inst_1) I], (LE.le.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.completeLattice.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))) (RingHom.ker.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f) I) -> (Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I)))
+Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjectiveₓ'. -/
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) :=
   by
@@ -2245,6 +3583,12 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
       (H.mem_or_mem this).imp (fun h => ha ▸ mem_map_of_mem f h) fun h => hb ▸ mem_map_of_mem f h
 #align ideal.map_is_prime_of_surjective Ideal.map_isPrime_of_surjective
 
+/- warning: ideal.map_eq_bot_iff_of_injective -> Ideal.map_eq_bot_iff_of_injective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} {F : Type.{u3}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} {f : F}, (Function.Injective.{succ u1, succ u2} R S (coeFn.{succ u3, max (succ u1) (succ u2)} F (fun (_x : F) => R -> S) (FunLike.hasCoeToFun.{succ u3, succ u1, succ u2} F R (fun (_x : R) => S) (MulHomClass.toFunLike.{u3, u1, u2} F R S (Distrib.toHasMul.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))))) (Distrib.toHasMul.{u2} S (NonUnitalNonAssocSemiring.toDistrib.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{u3, u1, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u3, u1, u2} F R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) rc)))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u1, u2, u3} R S F (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.hasBot.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (Ring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R _inst_1))))))
+but is expected to have type
+  forall {R : Type.{u3}} {S : Type.{u2}} {F : Type.{u1}} [_inst_1 : Ring.{u3} R] [_inst_2 : Ring.{u2} S] [rc : RingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))] {I : Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)} {f : F}, (Function.Injective.{succ u3, succ u2} R S (FunLike.coe.{succ u1, succ u3, succ u2} F R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{u1, u3, u2} F R S (NonUnitalNonAssocSemiring.toMul.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{u1, u3, u2} F R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{u1, u3, u2} F R S (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)) rc))) f)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Ideal.map.{u3, u2, u1} R S F (Ring.toSemiring.{u3} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) rc f I) (Bot.bot.{u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S _inst_2)) (Submodule.instBotSubmodule.{u2, u2} S S (Ring.toSemiring.{u2} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} S (Semiring.toNonAssocSemiring.{u2} S (Ring.toSemiring.{u2} S _inst_2)))) (Semiring.toModule.{u2} S (Ring.toSemiring.{u2} S _inst_2))))) (Eq.{succ u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) I (Bot.bot.{u3} (Ideal.{u3} R (Ring.toSemiring.{u3} R _inst_1)) (Submodule.instBotSubmodule.{u3, u3} R R (Ring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R _inst_1)))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injectiveₓ'. -/
 theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injective f) :
     I.map f = ⊥ ↔ I = ⊥ := by
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
@@ -2252,6 +3596,12 @@ theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injecti
 
 omit rc
 
+/- warning: ideal.map_is_prime_of_equiv -> Ideal.map_isPrime_of_equiv is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : Ring.{u1} R] [_inst_2 : Ring.{u2} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u1, u2} F' R S (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R _inst_1)) (Distrib.toHasMul.{u2} S (Ring.toDistrib.{u2} S _inst_2)) (Distrib.toHasAdd.{u2} S (Ring.toDistrib.{u2} S _inst_2))] (f : F') {I : Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_1) I], Ideal.IsPrime.{u2} S (Ring.toSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, u3} R S F' (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u1, u2} F' R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S _inst_2)) _inst_3) f I)
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : Ring.{u2} R] [_inst_2 : Ring.{u1} S] {F' : Type.{u3}} [_inst_3 : RingEquivClass.{u3, u2, u1} F' R S (NonUnitalNonAssocRing.toMul.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))) (Distrib.toAdd.{u2} R (NonUnitalNonAssocSemiring.toDistrib.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonUnitalRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonUnitalRing.{u2} R _inst_1))))) (NonUnitalNonAssocRing.toMul.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonUnitalRing.{u1} S _inst_2))) (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} S (NonUnitalRing.toNonUnitalNonAssocRing.{u1} S (Ring.toNonUnitalRing.{u1} S _inst_2)))))] (f : F') {I : Ideal.{u2} R (Ring.toSemiring.{u2} R _inst_1)} [_inst_4 : Ideal.IsPrime.{u2} R (Ring.toSemiring.{u2} R _inst_1) I], Ideal.IsPrime.{u1} S (Ring.toSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, u3} R S F' (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u1} S _inst_2) (RingEquivClass.toRingHomClass.{u3, u2, u1} F' R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S _inst_2)) _inst_3) f I)
+Case conversion may be inaccurate. Consider using '#align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equivₓ'. -/
 theorem map_isPrime_of_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') {I : Ideal R}
     [IsPrime I] : IsPrime (map f I) :=
   map_isPrime_of_surjective (EquivLike.surjective f) <| by simp only [RingHom.ker_equiv, bot_le]
@@ -2263,12 +3613,24 @@ section CommRing
 
 variable [CommRing R] [CommRing S]
 
+/- warning: ideal.map_eq_iff_sup_ker_eq_of_surjective -> Ideal.map_eq_iff_sup_ker_eq_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} {J : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))} (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)) -> (Iff (Eq.{succ u2} (Ideal.{u2} S (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f J)) (Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) I (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) (Sup.sup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (IdemSemiring.toSemilatticeSup.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.idemSemiring.{u1, u1} R (CommRing.toCommSemiring.{u1} R _inst_1) R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))))) J (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} {J : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))} (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))), (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (Iff (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f J)) (Eq.{succ u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) I (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f)) (Sup.sup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (SemilatticeSup.toSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (IdemCommSemiring.toSemilatticeSup.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Ideal.instIdemCommSemiringIdealToSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)))) J (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f))))
+Case conversion may be inaccurate. Consider using '#align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjectiveₓ'. -/
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
   rw [← (comap_injective_of_surjective f hf).eq_iff, comap_map_of_surjective f hf,
     comap_map_of_surjective f hf, RingHom.ker_eq_comap_bot]
 #align ideal.map_eq_iff_sup_ker_eq_of_surjective Ideal.map_eq_iff_sup_ker_eq_of_surjective
 
+/- warning: ideal.map_radical_of_surjective -> Ideal.map_radical_of_surjective is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {S : Type.{u2}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} S] {f : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))}, (Function.Surjective.{succ u1, succ u2} R S (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (fun (_x : RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) => R -> S) (RingHom.hasCoeToFun.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f)) -> (forall {I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))}, (LE.le.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLE.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.completeLattice.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))))))) (RingHom.ker.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u2} S (CommRing.toRing.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f) I) -> (Eq.{succ u2} (Ideal.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f (Ideal.radical.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1) I)) (Ideal.radical.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2) (Ideal.map.{u1, u2, max u1 u2} R S (RingHom.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.ringHomClass.{u1, u2} R S (NonAssocRing.toNonAssocSemiring.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_1))) (NonAssocRing.toNonAssocSemiring.{u2} S (Ring.toNonAssocRing.{u2} S (CommRing.toRing.{u2} S _inst_2)))) f I))))
+but is expected to have type
+  forall {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommRing.{u2} R] [_inst_2 : CommRing.{u1} S] {f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))}, (Function.Surjective.{succ u2, succ u1} R S (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : R) => S) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))))))) f)) -> (forall {I : Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))}, (LE.le.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Preorder.toLE.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (PartialOrder.toPreorder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Ideal.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Submodule.completeLattice.{u2, u2} R R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))))) (Semiring.toModule.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)))))))) (RingHom.ker.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f) I) -> (Eq.{succ u1} (Ideal.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2))) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f (Ideal.radical.{u2} R (CommRing.toCommSemiring.{u2} R _inst_1) I)) (Ideal.radical.{u1} S (CommRing.toCommSemiring.{u1} S _inst_2) (Ideal.map.{u2, u1, max u2 u1} R S (RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1)) (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)) (RingHom.instRingHomClassRingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_1))) (Semiring.toNonAssocSemiring.{u1} S (Ring.toSemiring.{u1} S (CommRing.toRing.{u1} S _inst_2)))) f I))))
+Case conversion may be inaccurate. Consider using '#align ideal.map_radical_of_surjective Ideal.map_radical_of_surjectiveₓ'. -/
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical :=
   by
@@ -2295,6 +3657,7 @@ variable {R : Type u} {M : Type v}
 
 variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
+#print Submodule.moduleSubmodule /-
 -- TODO: show `[algebra R A] : algebra (ideal R) A` too
 instance moduleSubmodule : Module (Ideal R) (Submodule R M)
     where
@@ -2305,6 +3668,7 @@ instance moduleSubmodule : Module (Ideal R) (Submodule R M)
   zero_smul := bot_smul
   smul_zero := smul_bot
 #align submodule.module_submodule Submodule.moduleSubmodule
+-/
 
 end Submodule
 
@@ -2314,6 +3678,12 @@ variable {A B C : Type _} [Ring A] [Ring B] [Ring C]
 
 variable (f : A →+* B) (f_inv : B → A)
 
+/- warning: ring_hom.lift_of_right_inverse_aux -> RingHom.liftOfRightInverseAux is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (forall (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+but is expected to have type
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (forall (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))), (LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g)) -> (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAuxₓ'. -/
 /-- Auxiliary definition used to define `lift_of_right_inverse` -/
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (hg : f.ker ≤ g.ker) :
     B →+* C :=
@@ -2334,12 +3704,24 @@ def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C) (
       simp only [hf _] }
 #align ring_hom.lift_of_right_inverse_aux RingHom.liftOfRightInverseAux
 
+/- warning: ring_hom.lift_of_right_inverse_aux_comp_apply -> RingHom.liftOfRightInverseAux_comp_apply is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (a : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.liftOfRightInverseAux.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f a)) (coeFn.{max (succ u1) (succ u3), max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g a)
+but is expected to have type
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (a : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (RingHom.liftOfRightInverseAux.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf g hg) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f a)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => C) _x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) g a)
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_applyₓ'. -/
 @[simp]
 theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (a : A) : (f.liftOfRightInverseAux f_inv hf g hg) (f a) = g a :=
   f.toAddMonoidHom.liftOfRightInverse_comp_apply f_inv hf ⟨g.toAddMonoidHom, hg⟩ a
 #align ring_hom.lift_of_right_inverse_aux_comp_apply RingHom.liftOfRightInverseAux_comp_apply
 
+/- warning: ring_hom.lift_of_right_inverse -> RingHom.liftOfRightInverse is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+but is expected to have type
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A), (Function.RightInverse.{succ u1, succ u2} A B f_inv (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverseₓ'. -/
 /-- `lift_of_right_inverse f hf g hg` is the unique ring homomorphism `φ`
 
 * such that `φ.comp f = g` (`ring_hom.lift_of_right_inverse_comp`),
@@ -2371,6 +3753,12 @@ def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
     simp [lift_of_right_inverse_aux, hf b]
 #align ring_hom.lift_of_right_inverse RingHom.liftOfRightInverse
 
+/- warning: ring_hom.lift_of_surjective -> RingHom.liftOfSurjective is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))))
+but is expected to have type
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))), (Function.Surjective.{succ u1, succ u2} A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) -> (Equiv.{max 1 (succ u1) (succ u3), max (succ u3) (succ u2)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.instRingHomClassRingHom.{u1, u3} A C (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u3} C (Ring.toSemiring.{u3} C _inst_3))))
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_surjective RingHom.liftOfSurjectiveₓ'. -/
 /-- A non-computable version of `ring_hom.lift_of_right_inverse` for when no computable right
 inverse is available, that uses `function.surj_inv`. -/
 @[simp]
@@ -2379,17 +3767,35 @@ noncomputable abbrev liftOfSurjective (hf : Function.Surjective f) :
   f.liftOfRightInverse (Function.surjInv hf) (Function.rightInverse_surjInv hf)
 #align ring_hom.lift_of_surjective RingHom.liftOfSurjective
 
+/- warning: ring_hom.lift_of_right_inverse_comp_apply -> RingHom.liftOfRightInverse_comp_apply is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (x : A), Eq.{succ u3} C (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => B -> C) (RingHom.hasCoeToFun.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f x)) (coeFn.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (fun (x : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) => A -> C) (coeFnTrans.{max (succ u1) (succ u3), max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (_x : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => A -> C) (RingHom.hasCoeToFun.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBaseAux.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))))) g x)
+but is expected to have type
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (x : A), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (a : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) a) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B (fun (_x : B) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : B) => C) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g) B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f x)) (FunLike.coe.{max (succ u3) (succ u1), succ u3, succ u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A (fun (x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => C) x) (MulHomClass.toFunLike.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u1} C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} C (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, u3, u1} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))))) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g) x)
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_applyₓ'. -/
 theorem liftOfRightInverse_comp_apply (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) (x : A) :
     (f.liftOfRightInverse f_inv hf g) (f x) = g x :=
   f.liftOfRightInverseAux_comp_apply f_inv hf g.1 g.2 x
 #align ring_hom.lift_of_right_inverse_comp_apply RingHom.liftOfRightInverse_comp_apply
 
+/- warning: ring_hom.lift_of_right_inverse_comp -> RingHom.liftOfRightInverse_comp is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))), Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) ((fun (a : Sort.{max 1 (succ u1) (succ u3)}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} a b] => self.0) (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (HasLiftT.mk.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (CoeTCₓ.coe.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeBase.{max 1 (succ u1) (succ u3), max (succ u1) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (coeSubtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)))))) g)
+but is expected to have type
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))), Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) g) f) (Subtype.val.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g)
+Case conversion may be inaccurate. Consider using '#align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_compₓ'. -/
 theorem liftOfRightInverse_comp (hf : Function.RightInverse f_inv f)
     (g : { g : A →+* C // f.ker ≤ g.ker }) : (f.liftOfRightInverse f_inv hf g).comp f = g :=
   RingHom.ext <| f.liftOfRightInverse_comp_apply f_inv hf g
 #align ring_hom.lift_of_right_inverse_comp RingHom.liftOfRightInverse_comp
 
+/- warning: ring_hom.eq_lift_of_right_inverse -> RingHom.eq_liftOfRightInverse is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {B : Type.{u2}} {C : Type.{u3}} [_inst_1 : Ring.{u1} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u3} C] (f : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u1, succ u2} A B f_inv (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (fun (_x : RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) => A -> B) (RingHom.hasCoeToFun.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f)) (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (hg : LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) (h : RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))), (Eq.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (RingHom.comp.{u1, u2, u3} A B C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u3)} (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) h (coeFn.{max 1 (max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)) (max (succ u2) (succ u3)) 1 (succ u1) (succ u3), max (max 1 (succ u1) (succ u3)) (succ u2) (succ u3)} (Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (fun (_x : Equiv.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) => (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) -> (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (Equiv.hasCoeToFun.{max 1 (succ u1) (succ u3), max (succ u2) (succ u3)} (Subtype.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g))) (RingHom.{u2, u3} B C (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3)))) (RingHom.liftOfRightInverse.{u1, u2, u3} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u1) (succ u3)} (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (fun (g : RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) => LE.le.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Ideal.{u1} A (Ring.toSemiring.{u1} A _inst_1)) (Submodule.completeLattice.{u1, u1} A A (Ring.toSemiring.{u1} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (Ring.toSemiring.{u1} A _inst_1)))) (Semiring.toModule.{u1} A (Ring.toSemiring.{u1} A _inst_1))))))) (RingHom.ker.{u1, u2, max u1 u2} A B (RingHom.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.ringHomClass.{u1, u2} A B (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u2} B (Ring.toNonAssocRing.{u2} B _inst_2))) f) (RingHom.ker.{u1, u3, max u1 u3} A C (RingHom.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) (Ring.toSemiring.{u1} A _inst_1) (Ring.toSemiring.{u3} C _inst_3) (RingHom.ringHomClass.{u1, u3} A C (NonAssocRing.toNonAssocSemiring.{u1} A (Ring.toNonAssocRing.{u1} A _inst_1)) (NonAssocRing.toNonAssocSemiring.{u3} C (Ring.toNonAssocRing.{u3} C _inst_3))) g)) g hg)))
+but is expected to have type
+  forall {A : Type.{u3}} {B : Type.{u2}} {C : Type.{u1}} [_inst_1 : Ring.{u3} A] [_inst_2 : Ring.{u2} B] [_inst_3 : Ring.{u1} C] (f : RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (f_inv : B -> A) (hf : Function.RightInverse.{succ u3, succ u2} A B f_inv (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2372 : A) => B) _x) (MulHomClass.toFunLike.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonUnitalNonAssocSemiring.toMul.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u3, u2} (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)))))) f)) (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (hg : LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) (h : RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))), (Eq.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (RingHom.comp.{u3, u2, u1} A B C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)) h f) g) -> (Eq.{max (succ u2) (succ u1)} (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) h (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max 1 (succ u3) (succ u1), max (succ u1) (succ u2)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (fun (_x : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.805 : Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) => RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Subtype.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g))) (RingHom.{u2, u1} B C (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3)))) (RingHom.liftOfRightInverse.{u3, u2, u1} A B C _inst_1 _inst_2 _inst_3 f f_inv hf) (Subtype.mk.{max (succ u3) (succ u1)} (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (fun (g : RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) => LE.le.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Preorder.toLE.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (PartialOrder.toPreorder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Ideal.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Submodule.completeLattice.{u3, u3} A A (Ring.toSemiring.{u3} A _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} A (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)))) (Semiring.toModule.{u3} A (Ring.toSemiring.{u3} A _inst_1))))))) (RingHom.ker.{u3, u2, max u3 u2} A B (RingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u2} B _inst_2) (RingHom.instRingHomClassRingHom.{u3, u2} A B (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u2} B (Ring.toSemiring.{u2} B _inst_2))) f) (RingHom.ker.{u3, u1, max u3 u1} A C (RingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) (Ring.toSemiring.{u3} A _inst_1) (Ring.toSemiring.{u1} C _inst_3) (RingHom.instRingHomClassRingHom.{u3, u1} A C (Semiring.toNonAssocSemiring.{u3} A (Ring.toSemiring.{u3} A _inst_1)) (Semiring.toNonAssocSemiring.{u1} C (Ring.toSemiring.{u1} C _inst_3))) g)) g hg)))
+Case conversion may be inaccurate. Consider using '#align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverseₓ'. -/
 theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : f.ker ≤ g.ker) (h : B →+* C) (hh : h.comp f = g) :
     h = f.liftOfRightInverse f_inv hf ⟨g, hg⟩ :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit e064a7bf82ad94c3c17b5128bbd860d1ec34874e
+! leanprover-community/mathlib commit e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,7 +13,7 @@ import Mathbin.Algebra.Ring.Equiv
 import Mathbin.Data.Nat.Choose.Sum
 import Mathbin.LinearAlgebra.Basis.Bilinear
 import Mathbin.RingTheory.Coprime.Lemmas
-import Mathbin.RingTheory.Ideal.Quotient
+import Mathbin.RingTheory.Ideal.Basic
 import Mathbin.RingTheory.NonZeroDivisors
 
 /-!
@@ -1888,19 +1888,8 @@ theorem IsRadical.comap (hK : K.IsRadical) : (comap f K).IsRadical :=
   apply radical_is_radical
 #align ideal.is_radical.comap Ideal.IsRadical.comap
 
-omit rc
-
-@[simp]
-theorem map_quotient_self : map (Quotient.mk I) I = ⊥ :=
-  eq_bot_iff.2 <|
-    Ideal.map_le_iff_le_comap.2 fun x hx =>
-      (Submodule.mem_bot (R ⧸ I)).2 <| Ideal.Quotient.eq_zero_iff_mem.2 hx
-#align ideal.map_quotient_self Ideal.map_quotient_self
-
 variable {I J L}
 
-include rc
-
 theorem map_radical_le : map f (radical I) ≤ radical (map f I) :=
   map_le_iff_le_comap.2 fun r ⟨n, hrni⟩ => ⟨n, map_pow f r n ▸ mem_map_of_mem f hrni⟩
 #align ideal.map_radical_le Ideal.map_radical_le
@@ -2163,74 +2152,6 @@ theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker,
 
 end RingRing
 
-section CommRing
-
-variable [CommRing R] [CommRing S] (f : R →+* S)
-
-/-- The induced map from the quotient by the kernel to the codomain.
-
-This is an isomorphism if `f` has a right inverse (`quotient_ker_equiv_of_right_inverse`) /
-is surjective (`quotient_ker_equiv_of_surjective`).
--/
-def kerLift (f : R →+* S) : R ⧸ f.ker →+* S :=
-  Ideal.Quotient.lift _ f fun r => f.mem_ker.mp
-#align ring_hom.ker_lift RingHom.kerLift
-
-@[simp]
-theorem kerLift_mk (f : R →+* S) (r : R) : kerLift f (Ideal.Quotient.mk f.ker r) = f r :=
-  Ideal.Quotient.lift_mk _ _ _
-#align ring_hom.ker_lift_mk RingHom.kerLift_mk
-
-/-- The induced map from the quotient by the kernel is injective. -/
-theorem kerLift_injective (f : R →+* S) : Function.Injective (kerLift f) := fun a b =>
-  Quotient.inductionOn₂' a b fun a b (h : f a = f b) =>
-    Ideal.Quotient.eq.2 <| show a - b ∈ ker f by rw [mem_ker, map_sub, h, sub_self]
-#align ring_hom.ker_lift_injective RingHom.kerLift_injective
-
-theorem lift_injective_of_ker_le_ideal (I : Ideal R) {f : R →+* S} (H : ∀ a : R, a ∈ I → f a = 0)
-    (hI : f.ker ≤ I) : Function.Injective (Ideal.Quotient.lift I f H) :=
-  by
-  rw [RingHom.injective_iff_ker_eq_bot, RingHom.ker_eq_bot_iff_eq_zero]
-  intro u hu
-  obtain ⟨v, rfl⟩ := Ideal.Quotient.mk_surjective u
-  rw [Ideal.Quotient.lift_mk] at hu
-  rw [Ideal.Quotient.eq_zero_iff_mem]
-  exact hI ((RingHom.mem_ker f).mpr hu)
-#align ring_hom.lift_injective_of_ker_le_ideal RingHom.lift_injective_of_ker_le_ideal
-
-variable {f}
-
-/-- The **first isomorphism theorem** for commutative rings, computable version. -/
-def quotientKerEquivOfRightInverse {g : S → R} (hf : Function.RightInverse g f) : R ⧸ f.ker ≃+* S :=
-  { kerLift f with
-    toFun := kerLift f
-    invFun := Ideal.Quotient.mk f.ker ∘ g
-    left_inv := by
-      rintro ⟨x⟩
-      apply ker_lift_injective
-      simp [hf (f x)]
-    right_inv := hf }
-#align ring_hom.quotient_ker_equiv_of_right_inverse RingHom.quotientKerEquivOfRightInverse
-
-@[simp]
-theorem quotientKerEquivOfRightInverse.apply {g : S → R} (hf : Function.RightInverse g f)
-    (x : R ⧸ f.ker) : quotientKerEquivOfRightInverse hf x = kerLift f x :=
-  rfl
-#align ring_hom.quotient_ker_equiv_of_right_inverse.apply RingHom.quotientKerEquivOfRightInverse.apply
-
-@[simp]
-theorem quotientKerEquivOfRightInverse.Symm.apply {g : S → R} (hf : Function.RightInverse g f)
-    (x : S) : (quotientKerEquivOfRightInverse hf).symm x = Ideal.Quotient.mk f.ker (g x) :=
-  rfl
-#align ring_hom.quotient_ker_equiv_of_right_inverse.symm.apply RingHom.quotientKerEquivOfRightInverse.Symm.apply
-
-/-- The **first isomorphism theorem** for commutative rings. -/
-noncomputable def quotientKerEquivOfSurjective (hf : Function.Surjective f) : R ⧸ f.ker ≃+* S :=
-  quotientKerEquivOfRightInverse (Classical.choose_spec hf.HasRightInverse)
-#align ring_hom.quotient_ker_equiv_of_surjective RingHom.quotientKerEquivOfSurjective
-
-end CommRing
-
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
 theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
@@ -2342,34 +2263,6 @@ section CommRing
 
 variable [CommRing R] [CommRing S]
 
-@[simp]
-theorem mk_ker {I : Ideal R} : (Quotient.mk I).ker = I := by
-  ext <;> rw [RingHom.ker, mem_comap, Submodule.mem_bot, quotient.eq_zero_iff_mem]
-#align ideal.mk_ker Ideal.mk_ker
-
-theorem map_mk_eq_bot_of_le {I J : Ideal R} (h : I ≤ J) : I.map J.Quotient.mk = ⊥ :=
-  by
-  rw [map_eq_bot_iff_le_ker, mk_ker]
-  exact h
-#align ideal.map_mk_eq_bot_of_le Ideal.map_mk_eq_bot_of_le
-
-theorem ker_quotient_lift {S : Type v} [CommRing S] {I : Ideal R} (f : R →+* S) (H : I ≤ f.ker) :
-    (Ideal.Quotient.lift I f H).ker = f.ker.map I.Quotient.mk :=
-  by
-  ext x
-  constructor
-  · intro hx
-    obtain ⟨y, hy⟩ := quotient.mk_surjective x
-    rw [RingHom.mem_ker, ← hy, Ideal.Quotient.lift_mk, ← RingHom.mem_ker] at hx
-    rw [← hy, mem_map_iff_of_surjective I.Quotient.mk quotient.mk_surjective]
-    exact ⟨y, hx, rfl⟩
-  · intro hx
-    rw [mem_map_iff_of_surjective I.Quotient.mk quotient.mk_surjective] at hx
-    obtain ⟨y, hy⟩ := hx
-    rw [RingHom.mem_ker, ← hy.right, Ideal.Quotient.lift_mk, ← RingHom.mem_ker f]
-    exact hy.left
-#align ideal.ker_quotient_lift Ideal.ker_quotient_lift
-
 theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
     (hf : Function.Surjective f) : map f I = map f J ↔ I ⊔ f.ker = J ⊔ f.ker := by
   rw [← (comap_injective_of_surjective f hf).eq_iff, comap_map_of_surjective f hf,
@@ -2392,356 +2285,6 @@ theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {
     refine' ⟨hJ' ▸ map_mono hJ.left, hJ' ▸ map_is_prime_of_surjective hf (le_trans h hJ.left)⟩
 #align ideal.map_radical_of_surjective Ideal.map_radical_of_surjective
 
-@[simp]
-theorem bot_quotient_isMaximal_iff (I : Ideal R) : (⊥ : Ideal (R ⧸ I)).IsMaximal ↔ I.IsMaximal :=
-  ⟨fun hI =>
-    @mk_ker _ _ I ▸
-      @comap_isMaximal_of_surjective _ _ _ _ _ _ (Quotient.mk I) Quotient.mk_surjective ⊥ hI,
-    fun hI => by
-    skip
-    letI := quotient.field I
-    exact bot_is_maximal⟩
-#align ideal.bot_quotient_is_maximal_iff Ideal.bot_quotient_isMaximal_iff
-
-/-- See also `ideal.mem_quotient_iff_mem` in case `I ≤ J`. -/
-@[simp]
-theorem mem_quotient_iff_mem_sup {I J : Ideal R} {x : R} :
-    Quotient.mk I x ∈ J.map (Quotient.mk I) ↔ x ∈ J ⊔ I := by
-  rw [← mem_comap, comap_map_of_surjective (Quotient.mk' I) quotient.mk_surjective, ←
-    RingHom.ker_eq_comap_bot, mk_ker]
-#align ideal.mem_quotient_iff_mem_sup Ideal.mem_quotient_iff_mem_sup
-
-/-- See also `ideal.mem_quotient_iff_mem_sup` if the assumption `I ≤ J` is not available. -/
-theorem mem_quotient_iff_mem {I J : Ideal R} (hIJ : I ≤ J) {x : R} :
-    Quotient.mk I x ∈ J.map (Quotient.mk I) ↔ x ∈ J := by
-  rw [mem_quotient_iff_mem_sup, sup_eq_left.mpr hIJ]
-#align ideal.mem_quotient_iff_mem Ideal.mem_quotient_iff_mem
-
-section QuotientAlgebra
-
-variable (R₁ R₂ : Type _) {A B : Type _}
-
-variable [CommSemiring R₁] [CommSemiring R₂] [CommRing A] [CommRing B]
-
-variable [Algebra R₁ A] [Algebra R₂ A] [Algebra R₁ B]
-
-/-- The `R₁`-algebra structure on `A/I` for an `R₁`-algebra `A` -/
-instance Quotient.algebra {I : Ideal A} : Algebra R₁ (A ⧸ I) :=
-  {
-    RingHom.comp (Ideal.Quotient.mk I)
-      (algebraMap R₁
-        A) with
-    toFun := fun x => Ideal.Quotient.mk I (algebraMap R₁ A x)
-    smul := (· • ·)
-    smul_def' := fun r x =>
-      Quotient.inductionOn' x fun x =>
-        ((Quotient.mk I).congr_arg <| Algebra.smul_def _ _).trans (RingHom.map_mul _ _ _)
-    commutes' := fun _ _ => mul_comm _ _ }
-#align ideal.quotient.algebra Ideal.Quotient.algebra
-
--- Lean can struggle to find this instance later if we don't provide this shortcut
-instance Quotient.isScalarTower [SMul R₁ R₂] [IsScalarTower R₁ R₂ A] (I : Ideal A) :
-    IsScalarTower R₁ R₂ (A ⧸ I) := by infer_instance
-#align ideal.quotient.is_scalar_tower Ideal.Quotient.isScalarTower
-
-/-- The canonical morphism `A →ₐ[R₁] A ⧸ I` as morphism of `R₁`-algebras, for `I` an ideal of
-`A`, where `A` is an `R₁`-algebra. -/
-def Quotient.mkₐ (I : Ideal A) : A →ₐ[R₁] A ⧸ I :=
-  ⟨fun a => Submodule.Quotient.mk a, rfl, fun _ _ => rfl, rfl, fun _ _ => rfl, fun _ => rfl⟩
-#align ideal.quotient.mkₐ Ideal.Quotient.mkₐ
-
-theorem Quotient.algHom_ext {I : Ideal A} {S} [Semiring S] [Algebra R₁ S] ⦃f g : A ⧸ I →ₐ[R₁] S⦄
-    (h : f.comp (Quotient.mkₐ R₁ I) = g.comp (Quotient.mkₐ R₁ I)) : f = g :=
-  AlgHom.ext fun x => Quotient.inductionOn' x <| AlgHom.congr_fun h
-#align ideal.quotient.alg_hom_ext Ideal.Quotient.algHom_ext
-
-theorem Quotient.alg_map_eq (I : Ideal A) :
-    algebraMap R₁ (A ⧸ I) = (algebraMap A (A ⧸ I)).comp (algebraMap R₁ A) :=
-  rfl
-#align ideal.quotient.alg_map_eq Ideal.Quotient.alg_map_eq
-
-theorem Quotient.mkₐ_toRingHom (I : Ideal A) :
-    (Quotient.mkₐ R₁ I).toRingHom = Ideal.Quotient.mk I :=
-  rfl
-#align ideal.quotient.mkₐ_to_ring_hom Ideal.Quotient.mkₐ_toRingHom
-
-@[simp]
-theorem Quotient.mkₐ_eq_mk (I : Ideal A) : ⇑(Quotient.mkₐ R₁ I) = Ideal.Quotient.mk I :=
-  rfl
-#align ideal.quotient.mkₐ_eq_mk Ideal.Quotient.mkₐ_eq_mk
-
-@[simp]
-theorem Quotient.algebraMap_eq (I : Ideal R) : algebraMap R (R ⧸ I) = I.Quotient.mk :=
-  rfl
-#align ideal.quotient.algebra_map_eq Ideal.Quotient.algebraMap_eq
-
-@[simp]
-theorem Quotient.mk_comp_algebraMap (I : Ideal A) :
-    (Quotient.mk I).comp (algebraMap R₁ A) = algebraMap R₁ (A ⧸ I) :=
-  rfl
-#align ideal.quotient.mk_comp_algebra_map Ideal.Quotient.mk_comp_algebraMap
-
-@[simp]
-theorem Quotient.mk_algebraMap (I : Ideal A) (x : R₁) :
-    Quotient.mk I (algebraMap R₁ A x) = algebraMap R₁ (A ⧸ I) x :=
-  rfl
-#align ideal.quotient.mk_algebra_map Ideal.Quotient.mk_algebraMap
-
-/-- The canonical morphism `A →ₐ[R₁] I.quotient` is surjective. -/
-theorem Quotient.mkₐ_surjective (I : Ideal A) : Function.Surjective (Quotient.mkₐ R₁ I) :=
-  surjective_quot_mk _
-#align ideal.quotient.mkₐ_surjective Ideal.Quotient.mkₐ_surjective
-
-/-- The kernel of `A →ₐ[R₁] I.quotient` is `I`. -/
-@[simp]
-theorem Quotient.mkₐ_ker (I : Ideal A) : (Quotient.mkₐ R₁ I : A →+* A ⧸ I).ker = I :=
-  Ideal.mk_ker
-#align ideal.quotient.mkₐ_ker Ideal.Quotient.mkₐ_ker
-
-variable {R₁}
-
-/-- `ideal.quotient.lift` as an `alg_hom`. -/
-def Quotient.liftₐ (I : Ideal A) (f : A →ₐ[R₁] B) (hI : ∀ a : A, a ∈ I → f a = 0) :
-    A ⧸ I →ₐ[R₁] B :=
-  {-- this is is_scalar_tower.algebra_map_apply R₁ A (A ⧸ I) but the file `algebra.algebra.tower`
-      -- imports this file.
-      Ideal.Quotient.lift
-      I (f : A →+* B) hI with
-    commutes' := fun r =>
-      by
-      have : algebraMap R₁ (A ⧸ I) r = algebraMap A (A ⧸ I) (algebraMap R₁ A r) := by
-        simp_rw [Algebra.algebraMap_eq_smul_one, smul_assoc, one_smul]
-      rw [this, Ideal.Quotient.algebraMap_eq, RingHom.toFun_eq_coe, Ideal.Quotient.lift_mk,
-        AlgHom.coe_toRingHom, Algebra.algebraMap_eq_smul_one, Algebra.algebraMap_eq_smul_one,
-        map_smul, map_one] }
-#align ideal.quotient.liftₐ Ideal.Quotient.liftₐ
-
-@[simp]
-theorem Quotient.liftₐ_apply (I : Ideal A) (f : A →ₐ[R₁] B) (hI : ∀ a : A, a ∈ I → f a = 0) (x) :
-    Ideal.Quotient.liftₐ I f hI x = Ideal.Quotient.lift I (f : A →+* B) hI x :=
-  rfl
-#align ideal.quotient.liftₐ_apply Ideal.Quotient.liftₐ_apply
-
-theorem Quotient.liftₐ_comp (I : Ideal A) (f : A →ₐ[R₁] B) (hI : ∀ a : A, a ∈ I → f a = 0) :
-    (Ideal.Quotient.liftₐ I f hI).comp (Ideal.Quotient.mkₐ R₁ I) = f :=
-  AlgHom.ext fun x => (Ideal.Quotient.lift_mk I (f : A →+* B) hI : _)
-#align ideal.quotient.liftₐ_comp Ideal.Quotient.liftₐ_comp
-
-theorem KerLift.map_smul (f : A →ₐ[R₁] B) (r : R₁) (x : A ⧸ f.toRingHom.ker) :
-    f.toRingHom.kerLift (r • x) = r • f.toRingHom.kerLift x :=
-  by
-  obtain ⟨a, rfl⟩ := quotient.mkₐ_surjective R₁ _ x
-  rw [← AlgHom.map_smul, quotient.mkₐ_eq_mk, RingHom.kerLift_mk]
-  exact f.map_smul _ _
-#align ideal.ker_lift.map_smul Ideal.KerLift.map_smul
-
-/-- The induced algebras morphism from the quotient by the kernel to the codomain.
-
-This is an isomorphism if `f` has a right inverse (`quotient_ker_alg_equiv_of_right_inverse`) /
-is surjective (`quotient_ker_alg_equiv_of_surjective`).
--/
-def kerLiftAlg (f : A →ₐ[R₁] B) : A ⧸ f.toRingHom.ker →ₐ[R₁] B :=
-  AlgHom.mk' f.toRingHom.kerLift fun _ _ => KerLift.map_smul f _ _
-#align ideal.ker_lift_alg Ideal.kerLiftAlg
-
-@[simp]
-theorem kerLiftAlg_mk (f : A →ₐ[R₁] B) (a : A) :
-    kerLiftAlg f (Quotient.mk f.toRingHom.ker a) = f a :=
-  rfl
-#align ideal.ker_lift_alg_mk Ideal.kerLiftAlg_mk
-
-@[simp]
-theorem kerLiftAlg_toRingHom (f : A →ₐ[R₁] B) : (kerLiftAlg f).toRingHom = RingHom.kerLift f :=
-  rfl
-#align ideal.ker_lift_alg_to_ring_hom Ideal.kerLiftAlg_toRingHom
-
-/-- The induced algebra morphism from the quotient by the kernel is injective. -/
-theorem kerLiftAlg_injective (f : A →ₐ[R₁] B) : Function.Injective (kerLiftAlg f) :=
-  RingHom.kerLift_injective f
-#align ideal.ker_lift_alg_injective Ideal.kerLiftAlg_injective
-
-/-- The **first isomorphism** theorem for algebras, computable version. -/
-def quotientKerAlgEquivOfRightInverse {f : A →ₐ[R₁] B} {g : B → A}
-    (hf : Function.RightInverse g f) : (A ⧸ f.toRingHom.ker) ≃ₐ[R₁] B :=
-  { RingHom.quotientKerEquivOfRightInverse fun x => show f.toRingHom (g x) = x from hf x,
-    kerLiftAlg f with }
-#align ideal.quotient_ker_alg_equiv_of_right_inverse Ideal.quotientKerAlgEquivOfRightInverse
-
-@[simp]
-theorem quotientKerAlgEquivOfRightInverse.apply {f : A →ₐ[R₁] B} {g : B → A}
-    (hf : Function.RightInverse g f) (x : A ⧸ f.toRingHom.ker) :
-    quotientKerAlgEquivOfRightInverse hf x = kerLiftAlg f x :=
-  rfl
-#align ideal.quotient_ker_alg_equiv_of_right_inverse.apply Ideal.quotientKerAlgEquivOfRightInverse.apply
-
-@[simp]
-theorem QuotientKerAlgEquivOfRightInverseSymm.apply {f : A →ₐ[R₁] B} {g : B → A}
-    (hf : Function.RightInverse g f) (x : B) :
-    (quotientKerAlgEquivOfRightInverse hf).symm x = Quotient.mkₐ R₁ f.toRingHom.ker (g x) :=
-  rfl
-#align ideal.quotient_ker_alg_equiv_of_right_inverse_symm.apply Ideal.QuotientKerAlgEquivOfRightInverseSymm.apply
-
-/-- The **first isomorphism theorem** for algebras. -/
-noncomputable def quotientKerAlgEquivOfSurjective {f : A →ₐ[R₁] B} (hf : Function.Surjective f) :
-    (A ⧸ f.toRingHom.ker) ≃ₐ[R₁] B :=
-  quotientKerAlgEquivOfRightInverse (Classical.choose_spec hf.HasRightInverse)
-#align ideal.quotient_ker_alg_equiv_of_surjective Ideal.quotientKerAlgEquivOfSurjective
-
-/-- The ring hom `R/I →+* S/J` induced by a ring hom `f : R →+* S` with `I ≤ f⁻¹(J)` -/
-def quotientMap {I : Ideal R} (J : Ideal S) (f : R →+* S) (hIJ : I ≤ J.comap f) : R ⧸ I →+* S ⧸ J :=
-  Quotient.lift I ((Quotient.mk J).comp f) fun _ ha => by
-    simpa [Function.comp_apply, RingHom.coe_comp, quotient.eq_zero_iff_mem] using hIJ ha
-#align ideal.quotient_map Ideal.quotientMap
-
-@[simp]
-theorem quotientMap_mk {J : Ideal R} {I : Ideal S} {f : R →+* S} {H : J ≤ I.comap f} {x : R} :
-    quotientMap I f H (Quotient.mk J x) = Quotient.mk I (f x) :=
-  Quotient.lift_mk J _ _
-#align ideal.quotient_map_mk Ideal.quotientMap_mk
-
-@[simp]
-theorem quotientMap_algebraMap {J : Ideal A} {I : Ideal S} {f : A →+* S} {H : J ≤ I.comap f}
-    {x : R₁} : quotientMap I f H (algebraMap R₁ (A ⧸ J) x) = Quotient.mk I (f (algebraMap _ _ x)) :=
-  Quotient.lift_mk J _ _
-#align ideal.quotient_map_algebra_map Ideal.quotientMap_algebraMap
-
-theorem quotientMap_comp_mk {J : Ideal R} {I : Ideal S} {f : R →+* S} (H : J ≤ I.comap f) :
-    (quotientMap I f H).comp (Quotient.mk J) = (Quotient.mk I).comp f :=
-  RingHom.ext fun x => by simp only [Function.comp_apply, RingHom.coe_comp, Ideal.quotientMap_mk]
-#align ideal.quotient_map_comp_mk Ideal.quotientMap_comp_mk
-
-/-- The ring equiv `R/I ≃+* S/J` induced by a ring equiv `f : R ≃+** S`,  where `J = f(I)`. -/
-@[simps]
-def quotientEquiv (I : Ideal R) (J : Ideal S) (f : R ≃+* S) (hIJ : J = I.map (f : R →+* S)) :
-    R ⧸ I ≃+* S ⧸ J :=
-  {
-    quotientMap J (↑f)
-      (by
-        rw [hIJ]
-        exact
-          @le_comap_map _ S _ _ _ _ _
-            _) with
-    invFun :=
-      quotientMap I (↑f.symm)
-        (by
-          rw [hIJ]
-          exact le_of_eq (map_comap_of_equiv I f))
-    left_inv := by
-      rintro ⟨r⟩
-      simp
-    right_inv := by
-      rintro ⟨s⟩
-      simp }
-#align ideal.quotient_equiv Ideal.quotientEquiv
-
-@[simp]
-theorem quotientEquiv_mk (I : Ideal R) (J : Ideal S) (f : R ≃+* S) (hIJ : J = I.map (f : R →+* S))
-    (x : R) : quotientEquiv I J f hIJ (Ideal.Quotient.mk I x) = Ideal.Quotient.mk J (f x) :=
-  rfl
-#align ideal.quotient_equiv_mk Ideal.quotientEquiv_mk
-
-@[simp]
-theorem quotientEquiv_symm_mk (I : Ideal R) (J : Ideal S) (f : R ≃+* S)
-    (hIJ : J = I.map (f : R →+* S)) (x : S) :
-    (quotientEquiv I J f hIJ).symm (Ideal.Quotient.mk J x) = Ideal.Quotient.mk I (f.symm x) :=
-  rfl
-#align ideal.quotient_equiv_symm_mk Ideal.quotientEquiv_symm_mk
-
-/-- `H` and `h` are kept as separate hypothesis since H is used in constructing the quotient map. -/
-theorem quotientMap_injective' {J : Ideal R} {I : Ideal S} {f : R →+* S} {H : J ≤ I.comap f}
-    (h : I.comap f ≤ J) : Function.Injective (quotientMap I f H) :=
-  by
-  refine' (injective_iff_map_eq_zero (QuotientMap I f H)).2 fun a ha => _
-  obtain ⟨r, rfl⟩ := quotient.mk_surjective a
-  rw [quotient_map_mk, quotient.eq_zero_iff_mem] at ha
-  exact quotient.eq_zero_iff_mem.mpr (h ha)
-#align ideal.quotient_map_injective' Ideal.quotientMap_injective'
-
-/-- If we take `J = I.comap f` then `quotient_map` is injective automatically. -/
-theorem quotientMap_injective {I : Ideal S} {f : R →+* S} :
-    Function.Injective (quotientMap I f le_rfl) :=
-  quotientMap_injective' le_rfl
-#align ideal.quotient_map_injective Ideal.quotientMap_injective
-
-theorem quotientMap_surjective {J : Ideal R} {I : Ideal S} {f : R →+* S} {H : J ≤ I.comap f}
-    (hf : Function.Surjective f) : Function.Surjective (quotientMap I f H) := fun x =>
-  let ⟨x, hx⟩ := Quotient.mk_surjective x
-  let ⟨y, hy⟩ := hf x
-  ⟨(Quotient.mk J) y, by simp [hx, hy]⟩
-#align ideal.quotient_map_surjective Ideal.quotientMap_surjective
-
-/-- Commutativity of a square is preserved when taking quotients by an ideal. -/
-theorem comp_quotientMap_eq_of_comp_eq {R' S' : Type _} [CommRing R'] [CommRing S'] {f : R →+* S}
-    {f' : R' →+* S'} {g : R →+* R'} {g' : S →+* S'} (hfg : f'.comp g = g'.comp f) (I : Ideal S') :
-    (quotientMap I g' le_rfl).comp (quotientMap (I.comap g') f le_rfl) =
-      (quotientMap I f' le_rfl).comp
-        (quotientMap (I.comap f') g
-          (le_of_eq (trans (comap_comap f g') (hfg ▸ comap_comap g f')))) :=
-  by
-  refine' RingHom.ext fun a => _
-  obtain ⟨r, rfl⟩ := quotient.mk_surjective a
-  simp only [RingHom.comp_apply, quotient_map_mk]
-  exact congr_arg (Quotient.mk' I) (trans (g'.comp_apply f r).symm (hfg ▸ f'.comp_apply g r))
-#align ideal.comp_quotient_map_eq_of_comp_eq Ideal.comp_quotientMap_eq_of_comp_eq
-
-/-- The algebra hom `A/I →+* B/J` induced by an algebra hom `f : A →ₐ[R₁] B` with `I ≤ f⁻¹(J)`. -/
-def quotientMapₐ {I : Ideal A} (J : Ideal B) (f : A →ₐ[R₁] B) (hIJ : I ≤ J.comap f) :
-    A ⧸ I →ₐ[R₁] B ⧸ J :=
-  { quotientMap J (f : A →+* B) hIJ with commutes' := fun r => by simp }
-#align ideal.quotient_mapₐ Ideal.quotientMapₐ
-
-@[simp]
-theorem quotient_map_mkₐ {I : Ideal A} (J : Ideal B) (f : A →ₐ[R₁] B) (H : I ≤ J.comap f) {x : A} :
-    quotientMapₐ J f H (Quotient.mk I x) = Quotient.mkₐ R₁ J (f x) :=
-  rfl
-#align ideal.quotient_map_mkₐ Ideal.quotient_map_mkₐ
-
-theorem quotient_map_comp_mkₐ {I : Ideal A} (J : Ideal B) (f : A →ₐ[R₁] B) (H : I ≤ J.comap f) :
-    (quotientMapₐ J f H).comp (Quotient.mkₐ R₁ I) = (Quotient.mkₐ R₁ J).comp f :=
-  AlgHom.ext fun x => by simp only [quotient_map_mkₐ, quotient.mkₐ_eq_mk, AlgHom.comp_apply]
-#align ideal.quotient_map_comp_mkₐ Ideal.quotient_map_comp_mkₐ
-
-/-- The algebra equiv `A/I ≃ₐ[R] B/J` induced by an algebra equiv `f : A ≃ₐ[R] B`,
-where`J = f(I)`. -/
-def quotientEquivAlg (I : Ideal A) (J : Ideal B) (f : A ≃ₐ[R₁] B) (hIJ : J = I.map (f : A →+* B)) :
-    (A ⧸ I) ≃ₐ[R₁] B ⧸ J :=
-  { quotientEquiv I J (f : A ≃+* B) hIJ with commutes' := fun r => by simp }
-#align ideal.quotient_equiv_alg Ideal.quotientEquivAlg
-
-instance (priority := 100) quotientAlgebra {I : Ideal A} [Algebra R A] :
-    Algebra (R ⧸ I.comap (algebraMap R A)) (A ⧸ I) :=
-  (quotientMap I (algebraMap R A) (le_of_eq rfl)).toAlgebra
-#align ideal.quotient_algebra Ideal.quotientAlgebra
-
-theorem algebraMap_quotient_injective {I : Ideal A} [Algebra R A] :
-    Function.Injective (algebraMap (R ⧸ I.comap (algebraMap R A)) (A ⧸ I)) :=
-  by
-  rintro ⟨a⟩ ⟨b⟩ hab
-  replace hab := quotient.eq.mp hab
-  rw [← RingHom.map_sub] at hab
-  exact quotient.eq.mpr hab
-#align ideal.algebra_map_quotient_injective Ideal.algebraMap_quotient_injective
-
-variable (R₁)
-
-/-- Quotienting by equal ideals gives equivalent algebras. -/
-def quotientEquivAlgOfEq {I J : Ideal A} (h : I = J) : (A ⧸ I) ≃ₐ[R₁] A ⧸ J :=
-  quotientEquivAlg I J AlgEquiv.refl <| h ▸ (map_id I).symm
-#align ideal.quotient_equiv_alg_of_eq Ideal.quotientEquivAlgOfEq
-
-@[simp]
-theorem quotientEquivAlgOfEq_mk {I J : Ideal A} (h : I = J) (x : A) :
-    quotientEquivAlgOfEq R₁ h (Ideal.Quotient.mk I x) = Ideal.Quotient.mk J x :=
-  rfl
-#align ideal.quotient_equiv_alg_of_eq_mk Ideal.quotientEquivAlgOfEq_mk
-
-@[simp]
-theorem quotientEquivAlgOfEq_symm {I J : Ideal A} (h : I = J) :
-    (quotientEquivAlgOfEq R₁ h).symm = quotientEquivAlgOfEq R₁ h.symm := by ext <;> rfl
-#align ideal.quotient_equiv_alg_of_eq_symm Ideal.quotientEquivAlgOfEq_symm
-
-end QuotientAlgebra
-
 end CommRing
 
 end Ideal
@@ -2857,150 +2400,3 @@ theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+*
 
 end RingHom
 
-namespace DoubleQuot
-
-open Ideal
-
-variable {R : Type u}
-
-section
-
-variable [CommRing R] (I J : Ideal R)
-
-/-- The obvious ring hom `R/I → R/(I ⊔ J)` -/
-def quotLeftToQuotSup : R ⧸ I →+* R ⧸ I ⊔ J :=
-  Ideal.Quotient.factor I (I ⊔ J) le_sup_left
-#align double_quot.quot_left_to_quot_sup DoubleQuot.quotLeftToQuotSup
-
-/-- The kernel of `quot_left_to_quot_sup` -/
-theorem ker_quotLeftToQuotSup : (quotLeftToQuotSup I J).ker = J.map (Ideal.Quotient.mk I) := by
-  simp only [mk_ker, sup_idem, sup_comm, quot_left_to_quot_sup, quotient.factor, ker_quotient_lift,
-    map_eq_iff_sup_ker_eq_of_surjective I.Quotient.mk quotient.mk_surjective, ← sup_assoc]
-#align double_quot.ker_quot_left_to_quot_sup DoubleQuot.ker_quotLeftToQuotSup
-
-/-- The ring homomorphism `(R/I)/J' -> R/(I ⊔ J)` induced by `quot_left_to_quot_sup` where `J'`
-  is the image of `J` in `R/I`-/
-def quotQuotToQuotSup : (R ⧸ I) ⧸ J.map (Ideal.Quotient.mk I) →+* R ⧸ I ⊔ J :=
-  Ideal.Quotient.lift (J.map (Ideal.Quotient.mk I)) (quot_left_to_quot_sup I J)
-    (ker_quot_left_to_quot_sup I J).symm.le
-#align double_quot.quot_quot_to_quot_sup DoubleQuot.quotQuotToQuotSup
-
-/-- The composite of the maps `R → (R/I)` and `(R/I) → (R/I)/J'` -/
-def quotQuotMk : R →+* (R ⧸ I) ⧸ J.map I.Quotient.mk :=
-  (J.map I.Quotient.mk).Quotient.mk.comp I.Quotient.mk
-#align double_quot.quot_quot_mk DoubleQuot.quotQuotMk
-
-/-- The kernel of `quot_quot_mk` -/
-theorem ker_quotQuotMk : (quotQuotMk I J).ker = I ⊔ J := by
-  rw [RingHom.ker_eq_comap_bot, quot_quot_mk, ← comap_comap, ← RingHom.ker, mk_ker,
-    comap_map_of_surjective (Ideal.Quotient.mk I) quotient.mk_surjective, ← RingHom.ker, mk_ker,
-    sup_comm]
-#align double_quot.ker_quot_quot_mk DoubleQuot.ker_quotQuotMk
-
-/-- The ring homomorphism `R/(I ⊔ J) → (R/I)/J' `induced by `quot_quot_mk` -/
-def liftSupQuotQuotMk (I J : Ideal R) : R ⧸ I ⊔ J →+* (R ⧸ I) ⧸ J.map (Ideal.Quotient.mk I) :=
-  Ideal.Quotient.lift (I ⊔ J) (quotQuotMk I J) (ker_quotQuotMk I J).symm.le
-#align double_quot.lift_sup_quot_quot_mk DoubleQuot.liftSupQuotQuotMk
-
-/-- `quot_quot_to_quot_add` and `lift_sup_double_qot_mk` are inverse isomorphisms. In the case where
-    `I ≤ J`, this is the Third Isomorphism Theorem (see `quot_quot_equiv_quot_of_le`)-/
-def quotQuotEquivQuotSup : (R ⧸ I) ⧸ J.map (Ideal.Quotient.mk I) ≃+* R ⧸ I ⊔ J :=
-  RingEquiv.ofHomInv (quotQuotToQuotSup I J) (liftSupQuotQuotMk I J)
-    (by
-      ext z
-      rfl)
-    (by
-      ext z
-      rfl)
-#align double_quot.quot_quot_equiv_quot_sup DoubleQuot.quotQuotEquivQuotSup
-
-@[simp]
-theorem quotQuotEquivQuotSup_quotQuotMk (x : R) :
-    quotQuotEquivQuotSup I J (quotQuotMk I J x) = Ideal.Quotient.mk (I ⊔ J) x :=
-  rfl
-#align double_quot.quot_quot_equiv_quot_sup_quot_quot_mk DoubleQuot.quotQuotEquivQuotSup_quotQuotMk
-
-@[simp]
-theorem quotQuotEquivQuotSup_symm_quotQuotMk (x : R) :
-    (quotQuotEquivQuotSup I J).symm (Ideal.Quotient.mk (I ⊔ J) x) = quotQuotMk I J x :=
-  rfl
-#align double_quot.quot_quot_equiv_quot_sup_symm_quot_quot_mk DoubleQuot.quotQuotEquivQuotSup_symm_quotQuotMk
-
-/-- The obvious isomorphism `(R/I)/J' → (R/J)/I' `   -/
-def quotQuotEquivComm : (R ⧸ I) ⧸ J.map I.Quotient.mk ≃+* (R ⧸ J) ⧸ I.map J.Quotient.mk :=
-  ((quotQuotEquivQuotSup I J).trans (quotEquivOfEq sup_comm)).trans (quotQuotEquivQuotSup J I).symm
-#align double_quot.quot_quot_equiv_comm DoubleQuot.quotQuotEquivComm
-
-@[simp]
-theorem quotQuotEquivComm_quotQuotMk (x : R) :
-    quotQuotEquivComm I J (quotQuotMk I J x) = quotQuotMk J I x :=
-  rfl
-#align double_quot.quot_quot_equiv_comm_quot_quot_mk DoubleQuot.quotQuotEquivComm_quotQuotMk
-
-@[simp]
-theorem quotQuotEquivComm_comp_quotQuotMk :
-    RingHom.comp (↑(quotQuotEquivComm I J)) (quotQuotMk I J) = quotQuotMk J I :=
-  RingHom.ext <| quotQuotEquivComm_quotQuotMk I J
-#align double_quot.quot_quot_equiv_comm_comp_quot_quot_mk DoubleQuot.quotQuotEquivComm_comp_quotQuotMk
-
-@[simp]
-theorem quotQuotEquivComm_symm : (quotQuotEquivComm I J).symm = quotQuotEquivComm J I :=
-  rfl
-#align double_quot.quot_quot_equiv_comm_symm DoubleQuot.quotQuotEquivComm_symm
-
-variable {I J}
-
-/-- **The Third Isomorphism theorem** for rings. See `quot_quot_equiv_quot_sup` for a version
-    that does not assume an inclusion of ideals. -/
-def quotQuotEquivQuotOfLe (h : I ≤ J) : (R ⧸ I) ⧸ J.map I.Quotient.mk ≃+* R ⧸ J :=
-  (quotQuotEquivQuotSup I J).trans (Ideal.quotEquivOfEq <| sup_eq_right.mpr h)
-#align double_quot.quot_quot_equiv_quot_of_le DoubleQuot.quotQuotEquivQuotOfLe
-
-@[simp]
-theorem quotQuotEquivQuotOfLe_quotQuotMk (x : R) (h : I ≤ J) :
-    quotQuotEquivQuotOfLe h (quotQuotMk I J x) = J.Quotient.mk x :=
-  rfl
-#align double_quot.quot_quot_equiv_quot_of_le_quot_quot_mk DoubleQuot.quotQuotEquivQuotOfLe_quotQuotMk
-
-@[simp]
-theorem quotQuotEquivQuotOfLe_symm_mk (x : R) (h : I ≤ J) :
-    (quotQuotEquivQuotOfLe h).symm (J.Quotient.mk x) = quotQuotMk I J x :=
-  rfl
-#align double_quot.quot_quot_equiv_quot_of_le_symm_mk DoubleQuot.quotQuotEquivQuotOfLe_symm_mk
-
-theorem quotQuotEquivQuotOfLe_comp_quotQuotMk (h : I ≤ J) :
-    RingHom.comp (↑(quotQuotEquivQuotOfLe h)) (quotQuotMk I J) = J.Quotient.mk := by ext <;> rfl
-#align double_quot.quot_quot_equiv_quot_of_le_comp_quot_quot_mk DoubleQuot.quotQuotEquivQuotOfLe_comp_quotQuotMk
-
-theorem quotQuotEquivQuotOfLe_symm_comp_mk (h : I ≤ J) :
-    RingHom.comp (↑(quotQuotEquivQuotOfLe h).symm) J.Quotient.mk = quotQuotMk I J := by ext <;> rfl
-#align double_quot.quot_quot_equiv_quot_of_le_symm_comp_mk DoubleQuot.quotQuotEquivQuotOfLe_symm_comp_mk
-
-end
-
-section Algebra
-
-@[simp]
-theorem quotQuotEquivComm_mk_mk [CommRing R] (I J : Ideal R) (x : R) :
-    quotQuotEquivComm I J (Ideal.Quotient.mk _ (Ideal.Quotient.mk _ x)) = algebraMap R _ x :=
-  rfl
-#align double_quot.quot_quot_equiv_comm_mk_mk DoubleQuot.quotQuotEquivComm_mk_mk
-
-variable [CommSemiring R] {A : Type v} [CommRing A] [Algebra R A] (I J : Ideal A)
-
-@[simp]
-theorem quotQuotEquivQuotSup_quot_quot_algebraMap (x : R) :
-    DoubleQuot.quotQuotEquivQuotSup I J (algebraMap R _ x) = algebraMap _ _ x :=
-  rfl
-#align double_quot.quot_quot_equiv_quot_sup_quot_quot_algebra_map DoubleQuot.quotQuotEquivQuotSup_quot_quot_algebraMap
-
-@[simp]
-theorem quotQuotEquivComm_algebraMap (x : R) :
-    quotQuotEquivComm I J (algebraMap R _ x) = algebraMap _ _ x :=
-  rfl
-#align double_quot.quot_quot_equiv_comm_algebra_map DoubleQuot.quotQuotEquivComm_algebraMap
-
-end Algebra
-
-end DoubleQuot
-
Diff
@@ -973,7 +973,7 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : radical I ≤ J ↔ I ≤ J :=
   hJ.IsRadical.radical_le_iff
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (x «expr ∉ » m) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » m) -/
 theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } :=
   le_antisymm (le_infₛ fun J hJ => hJ.2.radical_le_iff.2 hJ.1) fun r hr =>
     by_contradiction fun hri =>
@@ -2023,7 +2023,7 @@ variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
   b.map <|
-    LinearEquiv.ofInjective (Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
+    LinearEquiv.ofInjective (LinearMap.Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
         LinearEquiv.ofEq _ _
           (by
             ext
@@ -2036,13 +2036,13 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     (basisSpanSingleton b hx i : S) = x * b i := by
   simp only [basis_span_singleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
-    LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
+    LinearEquiv.restrictScalars_apply, LinearMap.Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
-    b.constr N (coe ∘ basisSpanSingleton b hx) = Algebra.lmul R S x :=
+    b.constr N (coe ∘ basisSpanSingleton b hx) = LinearMap.Algebra.lmul R S x :=
   b.ext fun i => by
     erw [Basis.constr_basis, Function.comp_apply, basis_span_singleton_apply, LinearMap.mul_apply']
 #align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingleton
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit 87c54600fe3cdc7d32ff5b50873ac724d86aef8d
+! leanprover-community/mathlib commit e064a7bf82ad94c3c17b5128bbd860d1ec34874e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -2722,6 +2722,24 @@ theorem algebraMap_quotient_injective {I : Ideal A} [Algebra R A] :
   exact quotient.eq.mpr hab
 #align ideal.algebra_map_quotient_injective Ideal.algebraMap_quotient_injective
 
+variable (R₁)
+
+/-- Quotienting by equal ideals gives equivalent algebras. -/
+def quotientEquivAlgOfEq {I J : Ideal A} (h : I = J) : (A ⧸ I) ≃ₐ[R₁] A ⧸ J :=
+  quotientEquivAlg I J AlgEquiv.refl <| h ▸ (map_id I).symm
+#align ideal.quotient_equiv_alg_of_eq Ideal.quotientEquivAlgOfEq
+
+@[simp]
+theorem quotientEquivAlgOfEq_mk {I J : Ideal A} (h : I = J) (x : A) :
+    quotientEquivAlgOfEq R₁ h (Ideal.Quotient.mk I x) = Ideal.Quotient.mk J x :=
+  rfl
+#align ideal.quotient_equiv_alg_of_eq_mk Ideal.quotientEquivAlgOfEq_mk
+
+@[simp]
+theorem quotientEquivAlgOfEq_symm {I J : Ideal A} (h : I = J) :
+    (quotientEquivAlgOfEq R₁ h).symm = quotientEquivAlgOfEq R₁ h.symm := by ext <;> rfl
+#align ideal.quotient_equiv_alg_of_eq_symm Ideal.quotientEquivAlgOfEq_symm
+
 end QuotientAlgebra
 
 end CommRing
Diff
@@ -4,13 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit 2bbc7e3884ba234309d2a43b19144105a753292e
+! leanprover-community/mathlib commit 87c54600fe3cdc7d32ff5b50873ac724d86aef8d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Algebra.Operations
 import Mathbin.Algebra.Ring.Equiv
 import Mathbin.Data.Nat.Choose.Sum
+import Mathbin.LinearAlgebra.Basis.Bilinear
 import Mathbin.RingTheory.Coprime.Lemmas
 import Mathbin.RingTheory.Ideal.Quotient
 import Mathbin.RingTheory.NonZeroDivisors

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -49,9 +49,10 @@ theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
   ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1),
    fun {x y} ⟨hxyi, hxyj⟩ => by
     rw [radical_inf, hij, inf_idem]
-    cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
-    · exact Or.inl ⟨hxi, hxj⟩
-    · exact Or.inr hyj
+    cases' hi.2 hxyi with hxi hyi
+    · cases' hj.2 hxyj with hxj hyj
+      · exact Or.inl ⟨hxi, hxj⟩
+      · exact Or.inr hyj
     · rw [hij] at hyi
       exact Or.inr hyi⟩
 #align ideal.is_primary_inf Ideal.isPrimary_inf
chore: split out Ideal.IsPrimary (#12296)

This splits out a small but self-contained part of RingTheory.Ideal.Operations.

Diff
@@ -1870,46 +1870,6 @@ end CommRing
 
 end MapAndComap
 
-section IsPrimary
-
-variable {R : Type u} [CommSemiring R]
-
-/-- A proper ideal `I` is primary iff `xy ∈ I` implies `x ∈ I` or `y ∈ radical I`. -/
-def IsPrimary (I : Ideal R) : Prop :=
-  I ≠ ⊤ ∧ ∀ {x y : R}, x * y ∈ I → x ∈ I ∨ y ∈ radical I
-#align ideal.is_primary Ideal.IsPrimary
-
-theorem IsPrime.isPrimary {I : Ideal R} (hi : IsPrime I) : IsPrimary I :=
-  ⟨hi.1, fun {_ _} hxy => (hi.mem_or_mem hxy).imp id fun hyi => le_radical hyi⟩
-#align ideal.is_prime.is_primary Ideal.IsPrime.isPrimary
-
-theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ radical I) :
-    x ∈ radical I :=
-  radical_idem I ▸ ⟨m, hx⟩
-#align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_mem
-
-theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
-  ⟨mt radical_eq_top.1 hi.1,
-   fun {x y} ⟨m, hxy⟩ => by
-    rw [mul_pow] at hxy; cases' hi.2 hxy with h h
-    · exact Or.inl ⟨m, h⟩
-    · exact Or.inr (mem_radical_of_pow_mem h)⟩
-#align ideal.is_prime_radical Ideal.isPrime_radical
-
-theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
-    (hij : radical I = radical J) : IsPrimary (I ⊓ J) :=
-  ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1),
-   fun {x y} ⟨hxyi, hxyj⟩ => by
-    rw [radical_inf, hij, inf_idem]
-    cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
-    · exact Or.inl ⟨hxi, hxj⟩
-    · exact Or.inr hyj
-    · rw [hij] at hyi
-      exact Or.inr hyi⟩
-#align ideal.is_primary_inf Ideal.isPrimary_inf
-
-end IsPrimary
-
 section Total
 
 variable (ι : Type*)
chore: split out Ideal.IsPrimary (#12296)

This splits out a small but self-contained part of RingTheory.Ideal.Operations.

chore: small splits of RingTheory.Ideal.Operations; clean imports (#12090)

This is based on seeing the import RingTheory.Ideal.OperationsLinearAlgebra.Basis on the longest pole. It feels like Ideal.Operations is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:

  • Ideal.basisSpanSingleton
  • Basis.mem_ideal_iff
  • Ideal.colon

In particular, now Ideal.Operations should no longer need to know about Basis or submodule quotients.

Diff
@@ -5,15 +5,9 @@ Authors: Kenny Lau
 -/
 import Mathlib.Algebra.Algebra.Operations
 import Mathlib.Algebra.Ring.Equiv
-import Mathlib.Data.Nat.Choose.Sum
-import Mathlib.Data.Nat.Interval
 import Mathlib.Data.Fintype.Lattice
 import Mathlib.RingTheory.Coprime.Lemmas
 import Mathlib.RingTheory.Ideal.Basic
-import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
-import Mathlib.LinearAlgebra.Basis
-import Mathlib.LinearAlgebra.Quotient
-import Mathlib.Algebra.Order.Group.Action
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74"
 
@@ -21,6 +15,9 @@ import Mathlib.Algebra.Order.Group.Action
 # More operations on modules and ideals
 -/
 
+assert_not_exists Basis -- See `RingTheory.Ideal.Basis`
+assert_not_exists Submodule.hasQuotient -- See `RingTheory.Ideal.QuotientOperations`
+
 universe u v w x
 
 open BigOperators Pointwise
@@ -386,78 +383,6 @@ theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I :
 
 end CommSemiring
 
-section CommRing
-
-variable [CommRing R] [AddCommGroup M] [Module R M]
-variable {N N₁ N₂ P P₁ P₂ : Submodule R M}
-
-/-- `N.colon P` is the ideal of all elements `r : R` such that `r • P ⊆ N`. -/
-def colon (N P : Submodule R M) : Ideal R :=
-  annihilator (P.map N.mkQ)
-#align submodule.colon Submodule.colon
-
-theorem mem_colon {r} : r ∈ N.colon P ↔ ∀ p ∈ P, r • p ∈ N :=
-  mem_annihilator.trans
-     ⟨fun H p hp => (Quotient.mk_eq_zero N).1 (H (Quotient.mk p) (mem_map_of_mem hp)),
-       fun H _ ⟨p, hp, hpm⟩ => hpm ▸ (N.mkQ.map_smul r p ▸ (Quotient.mk_eq_zero N).2 <| H p hp)⟩
-#align submodule.mem_colon Submodule.mem_colon
-
-theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) N :=
-  mem_colon
-#align submodule.mem_colon' Submodule.mem_colon'
-
-@[simp]
-theorem colon_top {I : Ideal R} : I.colon ⊤ = I := by
-  simp_rw [SetLike.ext_iff, mem_colon, smul_eq_mul]
-  exact fun x ↦ ⟨fun h ↦ mul_one x ▸ h 1 trivial, fun h _ _ ↦ I.mul_mem_right _ h⟩
-
-@[simp]
-theorem colon_bot : colon ⊥ N = N.annihilator := by
-  simp_rw [SetLike.ext_iff, mem_colon, mem_annihilator, mem_bot, forall_const]
-
-theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun _ hrnp =>
-  mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
-#align submodule.colon_mono Submodule.colon_mono
-
-theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
-    (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
-  le_antisymm (le_iInf fun _ => le_iInf fun _ => colon_mono (iInf_le _ _) (le_iSup _ _)) fun _ H =>
-    mem_colon'.2 <|
-      iSup_le fun j =>
-        map_le_iff_le_comap.1 <|
-          le_iInf fun i =>
-            map_le_iff_le_comap.2 <|
-              mem_colon'.1 <|
-                have := (mem_iInf _).1 H i
-                have := (mem_iInf _).1 this j
-                this
-#align submodule.infi_colon_supr Submodule.iInf_colon_iSup
-
-@[simp]
-theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
-    r ∈ N.colon (Submodule.span R {x}) ↔ r • x ∈ N :=
-  calc
-    r ∈ N.colon (Submodule.span R {x}) ↔ ∀ a : R, r • a • x ∈ N := by
-      simp [Submodule.mem_colon, Submodule.mem_span_singleton]
-    _ ↔ r • x ∈ N := by simp_rw [fun (a : R) ↦ smul_comm r a x]; exact SetLike.forall_smul_mem_iff
-#align submodule.mem_colon_singleton Submodule.mem_colon_singleton
-
-@[simp]
-theorem _root_.Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
-    r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
-  simp only [← Ideal.submodule_span_eq, Submodule.mem_colon_singleton, smul_eq_mul]
-#align ideal.mem_colon_singleton Ideal.mem_colon_singleton
-
-theorem annihilator_quotient {N : Submodule R M} :
-    Module.annihilator R (M ⧸ N) = N.colon ⊤ := by
-  simp_rw [SetLike.ext_iff, Module.mem_annihilator, colon, mem_annihilator, map_top,
-    LinearMap.range_eq_top.mpr (mkQ_surjective N), mem_top, forall_true_left, forall_const]
-
-theorem _root_.Ideal.annihilator_quotient {I : Ideal R} : Module.annihilator R (R ⧸ I) = I := by
-  rw [Submodule.annihilator_quotient, colon_top]
-
-end CommRing
-
 end Submodule
 
 namespace Ideal
@@ -2030,43 +1955,6 @@ theorem range_finsuppTotal :
 
 end Total
 
-section Basis
-
-variable {ι R S : Type*} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
-
-/-- A basis on `S` gives a basis on `Ideal.span {x}`, by multiplying everything by `x`. -/
-noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
-    Basis ι R (span ({x} : Set S)) :=
-  b.map <|
-    LinearEquiv.ofInjective (Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
-        LinearEquiv.ofEq _ _
-          (by
-            ext
-            simp [mem_span_singleton', mul_comm]) ≪≫ₗ
-      (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
-#align ideal.basis_span_singleton Ideal.basisSpanSingleton
-
-@[simp]
-theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
-    (basisSpanSingleton b hx i : S) = x * b i := by
-  simp only [basisSpanSingleton, Basis.map_apply, LinearEquiv.trans_apply,
-    Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
-    LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
-  -- This used to be the end of the proof before leanprover/lean4#2644
-  erw [LinearEquiv.coe_ofEq_apply, LinearEquiv.ofInjective_apply, Algebra.coe_lmul_eq_mul,
-    LinearMap.mul_apply']
-#align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
-
-@[simp]
-theorem constr_basisSpanSingleton {N : Type*} [Semiring N] [Module N S] [SMulCommClass R N S]
-    (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
-    (b.constr N).toFun (((↑) : _ → S) ∘ (basisSpanSingleton b hx)) = Algebra.lmul R S x :=
-  b.ext fun i => by
-    erw [Basis.constr_basis, Function.comp_apply, basisSpanSingleton_apply, LinearMap.mul_apply']
-#align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingleton
-
-end Basis
-
 end Ideal
 
 section span_range
@@ -2089,21 +1977,6 @@ theorem Associates.mk_ne_zero' {R : Type*} [CommSemiring R] {r : R} :
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
 
--- Porting note: added explicit coercion `(b i : S)`
-/-- If `I : Ideal S` has a basis over `R`,
-`x ∈ I` iff it is a linear combination of basis vectors. -/
-theorem Basis.mem_ideal_iff {ι R S : Type*} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
-    (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι →₀ R, x = Finsupp.sum c fun i x => x • (b i : S) :=
-  (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff
-#align basis.mem_ideal_iff Basis.mem_ideal_iff
-
-/-- If `I : Ideal S` has a finite basis over `R`,
-`x ∈ I` iff it is a linear combination of basis vectors. -/
-theorem Basis.mem_ideal_iff' {ι R S : Type*} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
-    {I : Ideal S} (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι → R, x = ∑ i, c i • (b i : S) :=
-  (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff'
-#align basis.mem_ideal_iff' Basis.mem_ideal_iff'
-
 namespace RingHom
 
 variable {R : Type u} {S : Type v} {T : Type w}
chore: small splits of RingTheory.Ideal.Operations; clean imports (#12090)

This is based on seeing the import RingTheory.Ideal.OperationsLinearAlgebra.Basis on the longest pole. It feels like Ideal.Operations is a bit of a chokepoint for compiling Mathlib since it imports many files and is imported by many files. So splitting out a few obvious parts should help with compile times. Moreover, there are a bunch of imports that I could remove and have the file still compile: presumably these are (were) transitive dependencies that shake does not remove.

The following results and their corollaries were split off:

  • Ideal.basisSpanSingleton
  • Basis.mem_ideal_iff
  • Ideal.colon

In particular, now Ideal.Operations should no longer need to know about Basis or submodule quotients.

chore: remove more bex and ball from lemma names (#11615)

Follow-up to #10816.

Remaining places containing such lemmas are

  • Option.bex_ne_none and Option.ball_ne_none: defined in Lean core
  • Nat.decidableBallLT and Nat.decidableBallLE: defined in Lean core
  • bef_def is still used in a number of places and could be renamed
  • BAll.imp_{left,right}, BEx.imp_{left,right}, BEx.intro and BEx.elim

I only audited the first ~150 lemmas mentioning "ball"; too many lemmas named after Metric.ball/openBall/closedBall.

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -1340,7 +1340,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
         exact absurd h this
-      · cases' hsne.bex with i his
+      · cases' hsne with i his
         obtain ⟨t, _, rfl⟩ : ∃ t, i ∉ t ∧ insert i t = s :=
           ⟨s.erase i, Finset.not_mem_erase i s, Finset.insert_erase his⟩
         have hp' : ∀ j ∈ t, IsPrime (f j) := by
style: replace '.-/' by '. -/' (#11938)

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

Diff
@@ -2119,7 +2119,7 @@ def ker : Ideal R :=
   Ideal.comap f ⊥
 #align ring_hom.ker RingHom.ker
 
-/-- An element is in the kernel if and only if it maps to zero.-/
+/-- An element is in the kernel if and only if it maps to zero. -/
 theorem mem_ker {r} : r ∈ ker f ↔ f r = 0 := by rw [ker, Ideal.mem_comap, Submodule.mem_bot]
 #align ring_hom.mem_ker RingHom.mem_ker
 
@@ -2135,7 +2135,7 @@ theorem comap_ker (f : S →+* R) (g : T →+* S) : f.ker.comap g = ker (f.comp
   rw [RingHom.ker_eq_comap_bot, Ideal.comap_comap, RingHom.ker_eq_comap_bot]
 #align ring_hom.comap_ker RingHom.comap_ker
 
-/-- If the target is not the zero ring, then one is not in the kernel.-/
+/-- If the target is not the zero ring, then one is not in the kernel. -/
 theorem not_one_mem_ker [Nontrivial S] (f : F) : (1 : R) ∉ ker f := by
   rw [mem_ker, map_one]
   exact one_ne_zero
feat: pointwise scalar multiplication is monotone (#11809)

Everywhere we have a smul_mem_pointwise_smul lemma, I've added this result.

Diff
@@ -13,6 +13,7 @@ import Mathlib.RingTheory.Ideal.Basic
 import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
 import Mathlib.LinearAlgebra.Basis
 import Mathlib.LinearAlgebra.Quotient
+import Mathlib.Algebra.Order.Group.Action
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74"
 
@@ -187,8 +188,12 @@ theorem smul_mono_left (h : I ≤ J) : I • N ≤ J • N :=
   map₂_le_map₂_left h
 #align submodule.smul_mono_left Submodule.smul_mono_left
 
-theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
-  map₂_le_map₂_right h
+instance : CovariantClass (Ideal R) (Submodule R M) HSMul.hSMul LE.le :=
+  ⟨fun _ _ => map₂_le_map₂_right⟩
+
+@[deprecated smul_mono_right] -- 2024-03-31
+protected theorem smul_mono_right (h : N ≤ P) : I • N ≤ I • P :=
+  _root_.smul_mono_right I h
 #align submodule.smul_mono_right Submodule.smul_mono_right
 
 theorem map_le_smul_top (I : Ideal R) (f : R →ₗ[R] M) :
@@ -250,17 +255,19 @@ protected theorem smul_assoc : (I • J) • N = I • J • N :=
         show r • s • n ∈ (I • J) • N from mul_smul r s n ▸ smul_mem_smul (smul_mem_smul hr hs) hn)
 #align submodule.smul_assoc Submodule.smul_assoc
 
-theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ :=
-  le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
+@[deprecated smul_inf_le] -- 2024-03-31
+protected theorem smul_inf_le (M₁ M₂ : Submodule R M) :
+    I • (M₁ ⊓ M₂) ≤ I • M₁ ⊓ I • M₂ := smul_inf_le _ _ _
 #align submodule.smul_inf_le Submodule.smul_inf_le
 
 theorem smul_iSup {ι : Sort*} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
   map₂_iSup_right _ _ _
 #align submodule.smul_supr Submodule.smul_iSup
 
-theorem smul_iInf_le {ι : Sort*} {I : Ideal R} {t : ι → Submodule R M} :
+@[deprecated smul_iInf_le] -- 2024-03-31
+protected theorem smul_iInf_le {ι : Sort*} {I : Ideal R} {t : ι → Submodule R M} :
     I • iInf t ≤ ⨅ i, I • t i :=
-  le_iInf fun _ => smul_mono_right (iInf_le _ _)
+  smul_iInf_le
 #align submodule.smul_infi_le Submodule.smul_iInf_le
 
 variable (S : Set R) (T : Set M)
@@ -820,7 +827,7 @@ theorem mul_mono_left (h : I ≤ J) : I * K ≤ J * K :=
 #align ideal.mul_mono_left Ideal.mul_mono_left
 
 theorem mul_mono_right (h : J ≤ K) : I * J ≤ I * K :=
-  Submodule.smul_mono_right h
+  smul_mono_right _ h
 #align ideal.mul_mono_right Ideal.mul_mono_right
 
 variable (I J K)
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -2079,7 +2079,7 @@ end span_range
 
 theorem Associates.mk_ne_zero' {R : Type*} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
-  rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
+  rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
 
 -- Porting note: added explicit coercion `(b i : S)`
@@ -2192,7 +2192,7 @@ theorem ker_isPrime {F : Type*} [Ring R] [Ring S] [IsDomain S]
     [FunLike F R S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
   ⟨by
-    rw [Ne.def, Ideal.eq_top_iff_one]
+    rw [Ne, Ideal.eq_top_iff_one]
     exact not_one_mem_ker f,
    fun {x y} => by
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
feat(Mathlib/RingTheory/Ideal/Operations): simplify definition of radical (#11723)
  • add_pow_mem_of_pow_mem_of_le says that (a + b) ^ k belongs to an ideal I if a ^ m and b ^ n belong to that ideal, and m + n ≤ k + 1.
  • Commute.add_pow_of_add_le_succ_eq_zero_of_pow_eq_zero says that (a + b) ^ k = 0 if a ^ m = 0, b^ n = 0, and m + n ≤ k + 1.
  • this is used to simplify the definition of docs#Ideal.radical and the definition of docs#Commute.isNilpotent_add
Diff
@@ -957,22 +957,8 @@ theorem isCoprime_biInf {J : ι → Ideal R} {s : Finset ι}
 def radical (I : Ideal R) : Ideal R where
   carrier := { r | ∃ n : ℕ, r ^ n ∈ I }
   zero_mem' := ⟨1, (pow_one (0 : R)).symm ▸ I.zero_mem⟩
-  add_mem' :=
-  fun {x y} ⟨m, hxmi⟩ ⟨n, hyni⟩ =>
-    ⟨m + n,
-      (add_pow x y (m + n)).symm ▸ I.sum_mem <|
-        show
-          ∀ c ∈ Finset.range (Nat.succ (m + n)), x ^ c * y ^ (m + n - c) * Nat.choose (m + n) c ∈ I
-          from fun c _ =>
-          Or.casesOn (le_total c m) (fun hcm =>
-              I.mul_mem_right _ <|
-                I.mul_mem_left _ <|
-                  Nat.add_comm n m ▸
-                    (add_tsub_assoc_of_le hcm n).symm ▸
-                      (pow_add y n (m - c)).symm ▸ I.mul_mem_right _ hyni) (fun hmc =>
-               I.mul_mem_right _ <|
-                I.mul_mem_right _ <|
-                  add_tsub_cancel_of_le hmc ▸ (pow_add x m (c - m)).symm ▸ I.mul_mem_right _ hxmi)⟩
+  add_mem' := fun {x y} ⟨m, hxmi⟩ ⟨n, hyni⟩ =>
+    ⟨m + n - 1, add_pow_add_pred_mem_of_pow_mem I hxmi hyni⟩
 -- Porting note: Below gives weird errors without `by exact`
   smul_mem' {r s} := by exact fun ⟨n, h⟩ ↦ ⟨n, (mul_pow r s n).symm ▸ I.mul_mem_left (r ^ n) h⟩
 #align ideal.radical Ideal.radical
change the order of operation in zsmulRec and nsmulRec (#11451)

We change the following field in the definition of an additive commutative monoid:

 nsmul_succ : ∀ (n : ℕ) (x : G),
-  AddMonoid.nsmul (n + 1) x = x + AddMonoid.nsmul n x
+  AddMonoid.nsmul (n + 1) x = AddMonoid.nsmul n x + x

where the latter is more natural

We adjust the definitions of ^ in monoids, groups, etc. Originally there was a warning comment about why this natural order was preferred

use x * npowRec n x and not npowRec n x * x in the definition to make sure that definitional unfolding of npowRec is blocked, to avoid deep recursion issues.

but it seems to no longer apply.

Remarks on the PR :

  • pow_succ and pow_succ' have switched their meanings.
  • Most of the time, the proofs were adjusted by priming/unpriming one lemma, or exchanging left and right; a few proofs were more complicated to adjust.
  • In particular, [Mathlib/NumberTheory/RamificationInertia.lean] used Ideal.IsPrime.mul_mem_pow which is defined in [Mathlib/RingTheory/DedekindDomain/Ideal.lean]. Changing the order of operation forced me to add the symmetric lemma Ideal.IsPrime.mem_pow_mul.
  • the docstring for Cauchy condensation test in [Mathlib/Analysis/PSeries.lean] was mathematically incorrect, I added the mention that the function is antitone.
Diff
@@ -851,7 +851,7 @@ theorem pow_right_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n
   induction' n with _ hn
   · rw [pow_zero, pow_zero]
   · rw [pow_succ, pow_succ]
-    exact Ideal.mul_mono e hn
+    exact Ideal.mul_mono hn e
 #align ideal.pow_right_mono Ideal.pow_right_mono
 
 @[simp]
@@ -1945,7 +1945,7 @@ theorem le_comap_pow (n : ℕ) : K.comap f ^ n ≤ (K ^ n).comap f := by
   · rw [pow_zero, pow_zero, Ideal.one_eq_top, Ideal.one_eq_top]
     exact rfl.le
   · rw [pow_succ, pow_succ]
-    exact (Ideal.mul_mono_right n_ih).trans (Ideal.le_comap_mul f)
+    exact (Ideal.mul_mono_left n_ih).trans (Ideal.le_comap_mul f)
 #align ideal.le_comap_pow Ideal.le_comap_pow
 
 end CommRing
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
@@ -1290,13 +1290,14 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     rw [Finset.coe_insert, Set.biUnion_insert] at h
     have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
     rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
-    · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
-    · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
-    · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
+    · exact hs (Or.inl <| Or.inl <| add_sub_cancel_left r s ▸ (f a).sub_mem ha hra)
+    · exact hs (Or.inl <| Or.inr <| add_sub_cancel_left r s ▸ (f b).sub_mem hb hrb)
+    · exact hri (add_sub_cancel_right r s ▸ (f i).sub_mem hi hsi)
     · rw [Set.mem_iUnion₂] at ht
       rcases ht with ⟨j, hjt, hj⟩
       simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
-      exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
+      exact hs $ Or.inr $ Set.mem_biUnion hjt <|
+        add_sub_cancel_left r s ▸ (f j).sub_mem hj <| hr j hjt
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
@@ -1786,7 +1787,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
       let ⟨s, hsi, hfsr⟩ := mem_image_of_mem_map_of_surjective f hf h
       Submodule.mem_sup.2
         ⟨s, hsi, r - s, (Submodule.mem_bot S).2 <| by rw [map_sub, hfsr, sub_self],
-          add_sub_cancel'_right s r⟩)
+          add_sub_cancel s r⟩)
     (sup_le (map_le_iff_le_comap.1 le_rfl) (comap_mono bot_le))
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -382,7 +382,6 @@ end CommSemiring
 section CommRing
 
 variable [CommRing R] [AddCommGroup M] [Module R M]
-
 variable {N N₁ N₂ P P₁ P₂ : Submodule R M}
 
 /-- `N.colon P` is the ideal of all elements `r : R` such that `r • P ⊆ N`. -/
@@ -480,7 +479,6 @@ end Add
 section MulAndRadical
 
 variable {R : Type u} {ι : Type*} [CommSemiring R]
-
 variable {I J K L : Ideal R}
 
 instance : Mul (Ideal R) :=
@@ -1145,7 +1143,6 @@ theorem top_pow (n : ℕ) : (⊤ ^ n : Ideal R) = ⊤ :=
 #align ideal.top_pow Ideal.top_pow
 
 variable {R}
-
 variable (I)
 
 lemma radical_pow : ∀ {n}, n ≠ 0 → radical (I ^ n) = radical I
@@ -1394,11 +1391,8 @@ variable {R : Type u} {S : Type v}
 section Semiring
 
 variable {F : Type*} [Semiring R] [Semiring S]
-
 variable [FunLike F R S] [rc : RingHomClass F R S]
-
 variable (f : F)
-
 variable {I J : Ideal R} {K L : Ideal S}
 
 /-- `I.map f` is the span of the image of the ideal `I` under `f`, which may be bigger than
@@ -1780,7 +1774,6 @@ end Semiring
 section Ring
 
 variable {F : Type*} [Ring R] [Ring S]
-
 variable [FunLike F R S] [RingHomClass F R S] (f : F) {I : Ideal R}
 
 section Surjective
@@ -1891,13 +1884,9 @@ end Ring
 section CommRing
 
 variable {F : Type*} [CommRing R] [CommRing S]
-
 variable [FunLike F R S] [rc : RingHomClass F R S]
-
 variable (f : F)
-
 variable {I J : Ideal R} {K L : Ideal S}
-
 variable (I J K L)
 
 theorem map_mul : map f (I * J) = map f I * map f J :=
@@ -2005,9 +1994,7 @@ end IsPrimary
 section Total
 
 variable (ι : Type*)
-
 variable (M : Type*) [AddCommGroup M] {R : Type*} [CommRing R] [Module R M] (I : Ideal R)
-
 variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
 open BigOperators
@@ -2130,7 +2117,6 @@ variable {R : Type u} {S : Type v} {T : Type w}
 section Semiring
 
 variable {F : Type*} {G : Type*} [Semiring R] [Semiring S] [Semiring T]
-
 variable [FunLike F R S] [rcf : RingHomClass F R S] [FunLike G T S] [rcg : RingHomClass G T S]
 variable (f : F) (g : G)
 
@@ -2349,7 +2335,6 @@ end Ideal
 namespace Submodule
 
 variable {R : Type u} {M : Type v}
-
 variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
 -- TODO: show `[Algebra R A] : Algebra (Ideal R) A` too
@@ -2372,7 +2357,6 @@ end Submodule
 namespace RingHom
 
 variable {A B C : Type*} [Ring A] [Ring B] [Ring C]
-
 variable (f : A →+* B) (f_inv : B → A)
 
 /-- Auxiliary definition used to define `liftOfRightInverse` -/
chore: classify new theorem / theorem porting notes (#11432)

Classifies by adding issue number #10756 to porting notes claiming anything equivalent to:

  • "added theorem"
  • "added theorems"
  • "new theorem"
  • "new theorems"
  • "added lemma"
  • "new lemma"
  • "new lemmas"
Diff
@@ -1419,7 +1419,7 @@ def comap (I : Ideal S) : Ideal R where
     exact mul_mem_left I _ hx
 #align ideal.comap Ideal.comap
 
--- Porting note: new theorem
+-- Porting note (#10756): new theorem
 -- @[simp] -- Porting note (#11215): TODO enable simp after the port
 theorem coe_comap (I : Ideal S) : (comap f I : Set R) = f ⁻¹' I := rfl
 
chore(Algebra): improve argument names to induction principles (#11439)

These are the case names used by the induction tactic after the with.

This replaces H0, H1, Hmul etc with zero, one, mul.

This PR does not touch Submonoid or Subgroup, as to_additive does not know how to rename the argument names. There are ways to work around this, but I'd prefer to leave them to a later PR.

This also leaves the closure_induction₂ variants alone, as renaming the arguments is more work for less gain.

Diff
@@ -143,24 +143,24 @@ lemma coe_set_smul : (I : Set R) • N = I • N :=
     (smul_le.mpr fun _ hr _ hx => mem_set_smul_of_mem_mem hr hx)
 
 @[elab_as_elim]
-theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
-    (H1 : ∀ x y, p x → p y → p (x + y)) : p x := by
-  have H0 : p 0 := by simpa only [zero_smul] using Hb 0 I.zero_mem 0 N.zero_mem
-  refine Submodule.iSup_induction (x := x) _ H ?_ H0 H1
+theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (smul : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
+    (add : ∀ x y, p x → p y → p (x + y)) : p x := by
+  have H0 : p 0 := by simpa only [zero_smul] using smul 0 I.zero_mem 0 N.zero_mem
+  refine Submodule.iSup_induction (x := x) _ H ?_ H0 add
   rintro ⟨i, hi⟩ m ⟨j, hj, hj'⟩
   rw [← hj']
-  exact Hb _ hi _ hj
+  exact smul _ hi _ hj
 #align submodule.smul_induction_on Submodule.smul_induction_on
 
 /-- Dependent version of `Submodule.smul_induction_on`. -/
 @[elab_as_elim]
 theorem smul_induction_on' {x : M} (hx : x ∈ I • N) {p : ∀ x, x ∈ I • N → Prop}
-    (Hb : ∀ (r : R) (hr : r ∈ I) (n : M) (hn : n ∈ N), p (r • n) (smul_mem_smul hr hn))
-    (H1 : ∀ x hx y hy, p x hx → p y hy → p (x + y) (Submodule.add_mem _ ‹_› ‹_›)) : p x hx := by
+    (smul : ∀ (r : R) (hr : r ∈ I) (n : M) (hn : n ∈ N), p (r • n) (smul_mem_smul hr hn))
+    (add : ∀ x hx y hy, p x hx → p y hy → p (x + y) (Submodule.add_mem _ ‹_› ‹_›)) : p x hx := by
   refine' Exists.elim _ fun (h : x ∈ I • N) (H : p x h) => H
   exact
-    smul_induction_on hx (fun a ha x hx => ⟨_, Hb _ ha _ hx⟩) fun x y ⟨_, hx⟩ ⟨_, hy⟩ =>
-      ⟨_, H1 _ _ _ _ hx hy⟩
+    smul_induction_on hx (fun a ha x hx => ⟨_, smul _ ha _ hx⟩) fun x y ⟨_, hx⟩ ⟨_, hy⟩ =>
+      ⟨_, add _ _ _ _ hx hy⟩
 #align submodule.smul_induction_on' Submodule.smul_induction_on'
 
 theorem mem_smul_span_singleton {I : Ideal R} {m : M} {x : M} :
feat(RingTheory/UniqueFactorizationDomain): add lemma UniqueFactorizationMonoid.IsPrime.exists_mem_Prime_of_neq_bot (#11218)

We add UniqueFactorizationMonoid.IsPrime.exists_mem_Prime_of_neq_bot: if an integral domain is a UniqueFactorizationMonoid, then every nonzero prime ideal contains a prime element.

We plan to add the other implication (known as Kaplansky's criterion) in a future PR.

Co-authored-by: EmilieUthaiwat <102412311+EmilieUthaiwat@users.noreply.github.com> Co-authored-by: faenuccio <filippo.nuccio@univ-st-etienne.fr>

Diff
@@ -1172,11 +1172,20 @@ theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P :
   simp_rw [hp.multiset_prod_le, Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
 
+theorem IsPrime.multiset_prod_mem_iff_exists_mem {I : Ideal R} (hI : I.IsPrime) (s : Multiset R) :
+    s.prod ∈ I ↔ ∃ p ∈ s, p ∈ I := by
+  simpa [span_singleton_le_iff_mem] using (hI.multiset_prod_map_le (span {·}))
+
 theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P) :
     s.prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   hp.multiset_prod_map_le f
 #align ideal.is_prime.prod_le Ideal.IsPrime.prod_le
 
+theorem IsPrime.prod_mem_iff_exists_mem {I : Ideal R} (hI : I.IsPrime) (s : Finset R) :
+    s.prod (fun x ↦ x) ∈ I ↔ ∃ p ∈ s, p ∈ I := by
+  rw [Finset.prod_eq_multiset_prod, Multiset.map_id']
+  exact hI.multiset_prod_mem_iff_exists_mem s.val
+
 theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P) :
     s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
   ⟨fun h ↦ hp.prod_le.1 <| prod_le_inf.trans h, fun ⟨_, his, hip⟩ ↦ (Finset.inf_le his).trans hip⟩
chore: classify todo porting notes (#11216)

Classifies by adding issue number #11215 to porting notes claiming "TODO".

Diff
@@ -1411,7 +1411,7 @@ def comap (I : Ideal S) : Ideal R where
 #align ideal.comap Ideal.comap
 
 -- Porting note: new theorem
--- @[simp] -- Porting note: TODO enable simp after the port
+-- @[simp] -- Porting note (#11215): TODO enable simp after the port
 theorem coe_comap (I : Ideal S) : (comap f I : Set R) = f ⁻¹' I := rfl
 
 variable {f}
chore(Order): Make more arguments explicit (#11033)

Those lemmas have historically been very annoying to use in rw since all their arguments were implicit. One too many people complained about it on Zulip, so I'm changing them.

Downstream code broken by this change can fix it by adding appropriately many _s.

Also marks CauSeq.ext @[ext].

Order.BoundedOrder

  • top_sup_eq
  • sup_top_eq
  • bot_sup_eq
  • sup_bot_eq
  • top_inf_eq
  • inf_top_eq
  • bot_inf_eq
  • inf_bot_eq

Order.Lattice

  • sup_idem
  • sup_comm
  • sup_assoc
  • sup_left_idem
  • sup_right_idem
  • inf_idem
  • inf_comm
  • inf_assoc
  • inf_left_idem
  • inf_right_idem
  • sup_inf_left
  • sup_inf_right
  • inf_sup_left
  • inf_sup_right

Order.MinMax

  • max_min_distrib_left
  • max_min_distrib_right
  • min_max_distrib_left
  • min_max_distrib_right

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -770,13 +770,11 @@ theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s
 #align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_top
 
 theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
-    (∏ i in s, J i) ⊔ I = ⊤ :=
-  sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
+    (∏ i in s, J i) ⊔ I = ⊤ := by rw [sup_comm, sup_prod_eq_top]; intro i hi; rw [sup_comm, h i hi]
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
 
 theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
-    (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
-  sup_comm.trans (sup_iInf_eq_top fun i hi => sup_comm.trans <| h i hi)
+    (⨅ i ∈ s, J i) ⊔ I = ⊤ := by rw [sup_comm, sup_iInf_eq_top]; intro i hi; rw [sup_comm, h i hi]
 #align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_top
 
 theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ := by
feat: sum and product of commuting semisimple endomorphisms (#10808)
  • Prove isSemisimple_of_mem_adjoin: if two commuting endomorphisms of a finite-dimensional vector space over a perfect field are both semisimple, then every endomorphism in the algebra generated by them (in particular their product and sum) is semisimple.

  • In the same file LinearAlgebra/Semisimple.lean, eq_zero_of_isNilpotent_isSemisimple and isSemisimple_of_squarefree_aeval_eq_zero are golfed, and IsSemisimple.minpoly_squarefree is proved

RingTheory/SimpleModule.lean:

  • Define IsSemisimpleRing R to mean that R is a semisimple R-module. add properties of simple modules and a characterization (they are exactly the quotients of the ring by maximal left ideals).

  • The annihilator of a semisimple module is a radical ideal.

  • Any module over a semisimple ring is semisimple.

  • A finite product of semisimple rings is semisimple.

  • Any quotient of a semisimple ring is semisimple.

  • Add Artin--Wedderburn as a TODO (proof_wanted).

  • Order/Atoms.lean: add the instance from IsSimpleOrder to ComplementedLattice, so that IsSimpleModule → IsSemisimpleModule is automatically inferred.

Prerequisites for showing a product of semisimple rings is semisimple:

  • Algebra/Module/Submodule/Map.lean: generalize orderIsoMapComap so that it only requires RingHomSurjective rather than RingHomInvPair

  • Algebra/Ring/CompTypeclasses.lean, Mathlib/Algebra/Ring/Pi.lean, Algebra/Ring/Prod.lean: add RingHomSurjective instances

RingTheory/Artinian.lean:

  • quotNilradicalEquivPi: the quotient of a commutative Artinian ring R by its nilradical is isomorphic to the (finite) product of its quotients by maximal ideals (therefore a product of fields). equivPi: if the ring is moreover reduced, then the ring itself is a product of fields. Deduce that R is a semisimple ring and both R and R[X] are decomposition monoids. Requires RingEquiv.quotientBot in RingTheory/Ideal/QuotientOperations.lean.

  • Data/Polynomial/Eval.lean: the polynomial ring over a finite product of rings is isomorphic to the product of polynomial rings over individual rings. (Used to show R[X] is a decomposition monoid.)

Other necessary results:

  • FieldTheory/Minpoly/Field.lean: the minimal polynomial of an element in a reduced algebra over a field is radical.

  • RingTheory/PowerBasis.lean: generalize PowerBasis.finiteDimensional and rename it to .finite.

Annihilator stuff, some of which do not end up being used:

  • RingTheory/Ideal/Operations.lean: define Module.annihilator and redefine Submodule.annihilator in terms of it; add lemmas, including one that says an arbitrary intersection of radical ideals is radical. The new lemma Ideal.isRadical_iff_pow_one_lt depends on pow_imp_self_of_one_lt in Mathlib/Data/Nat/Interval.lean, which is also used to golf the proof of isRadical_iff_pow_one_lt.

  • Algebra/Module/Torsion.lean: add a lemma and an instance (unused)

  • Data/Polynomial/Module/Basic.lean: add a def (unused) and a lemma

  • LinearAlgebra/AnnihilatingPolynomial.lean: add lemma span_minpoly_eq_annihilator

Some results about idempotent linear maps (projections) and idempotent elements, used to show that any (left) ideal in a semisimple ring is spanned by an idempotent element (unused):

  • LinearAlgebra/Projection.lean: add def isIdempotentElemEquiv

  • LinearAlgebra/Span.lean: add two lemmas

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

Diff
@@ -6,6 +6,7 @@ Authors: Kenny Lau
 import Mathlib.Algebra.Algebra.Operations
 import Mathlib.Algebra.Ring.Equiv
 import Mathlib.Data.Nat.Choose.Sum
+import Mathlib.Data.Nat.Interval
 import Mathlib.Data.Fintype.Lattice
 import Mathlib.RingTheory.Coprime.Lemmas
 import Mathlib.RingTheory.Ideal.Basic
@@ -25,11 +26,11 @@ open BigOperators Pointwise
 
 namespace Submodule
 
-variable {R : Type u} {M : Type v} {F : Type*} {G : Type*}
+variable {R : Type u} {M : Type v} {M' F G : Type*}
 
 section CommSemiring
 
-variable [CommSemiring R] [AddCommMonoid M] [Module R M]
+variable [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid M'] [Module R M']
 
 open Pointwise
 
@@ -43,16 +44,39 @@ protected theorem _root_.Ideal.smul_eq_mul (I J : Ideal R) : I • J = I * J :=
   rfl
 #align ideal.smul_eq_mul Ideal.smul_eq_mul
 
+variable (R M) in
+/-- `Module.annihilator R M` is the ideal of all elements `r : R` such that `r • M = 0`. -/
+def _root_.Module.annihilator : Ideal R := LinearMap.ker (LinearMap.lsmul R M)
+
+theorem _root_.Module.mem_annihilator {r} : r ∈ Module.annihilator R M ↔ ∀ m : M, r • m = 0 :=
+  ⟨fun h ↦ (congr($h ·)), (LinearMap.ext ·)⟩
+
+theorem _root_.LinearMap.annihilator_le_of_injective (f : M →ₗ[R] M') (hf : Function.Injective f) :
+    Module.annihilator R M' ≤ Module.annihilator R M := fun x h ↦ by
+  rw [Module.mem_annihilator] at h ⊢; exact fun m ↦ hf (by rw [map_smul, h, f.map_zero])
+
+theorem _root_.LinearMap.annihilator_le_of_surjective (f : M →ₗ[R] M')
+    (hf : Function.Surjective f) : Module.annihilator R M ≤ Module.annihilator R M' := fun x h ↦ by
+  rw [Module.mem_annihilator] at h ⊢
+  intro m; obtain ⟨m, rfl⟩ := hf m
+  rw [← map_smul, h, f.map_zero]
+
+theorem _root_.LinearEquiv.annihilator_eq (e : M ≃ₗ[R] M') :
+    Module.annihilator R M = Module.annihilator R M' :=
+  (e.annihilator_le_of_surjective e.surjective).antisymm (e.annihilator_le_of_injective e.injective)
+
 /-- `N.annihilator` is the ideal of all elements `r : R` such that `r • N = 0`. -/
-def annihilator (N : Submodule R M) : Ideal R :=
-  LinearMap.ker (LinearMap.lsmul R N)
+abbrev annihilator (N : Submodule R M) : Ideal R :=
+  Module.annihilator R N
 #align submodule.annihilator Submodule.annihilator
 
+theorem annihilator_top : (⊤ : Submodule R M).annihilator = Module.annihilator R M :=
+  topEquiv.annihilator_eq
+
 variable {I J : Ideal R} {N P : Submodule R M}
 
-theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) :=
-  ⟨fun hr n hn => congr_arg Subtype.val (LinearMap.ext_iff.1 (LinearMap.mem_ker.1 hr) ⟨n, hn⟩),
-    fun h => LinearMap.mem_ker.2 <| LinearMap.ext fun n => Subtype.eq <| h n.1 n.2⟩
+theorem mem_annihilator {r} : r ∈ N.annihilator ↔ ∀ n ∈ N, r • n = (0 : M) := by
+  simp_rw [annihilator, Module.mem_annihilator, Subtype.forall, Subtype.ext_iff]; rfl
 #align submodule.mem_annihilator Submodule.mem_annihilator
 
 theorem mem_annihilator' {r} : r ∈ N.annihilator ↔ N ≤ comap (r • (LinearMap.id : M →ₗ[R] M)) ⊥ :=
@@ -376,6 +400,15 @@ theorem mem_colon' {r} : r ∈ N.colon P ↔ P ≤ comap (r • (LinearMap.id :
   mem_colon
 #align submodule.mem_colon' Submodule.mem_colon'
 
+@[simp]
+theorem colon_top {I : Ideal R} : I.colon ⊤ = I := by
+  simp_rw [SetLike.ext_iff, mem_colon, smul_eq_mul]
+  exact fun x ↦ ⟨fun h ↦ mul_one x ▸ h 1 trivial, fun h _ _ ↦ I.mul_mem_right _ h⟩
+
+@[simp]
+theorem colon_bot : colon ⊥ N = N.annihilator := by
+  simp_rw [SetLike.ext_iff, mem_colon, mem_annihilator, mem_bot, forall_const]
+
 theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ ≤ N₂.colon P₁ := fun _ hrnp =>
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
@@ -409,6 +442,14 @@ theorem _root_.Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
   simp only [← Ideal.submodule_span_eq, Submodule.mem_colon_singleton, smul_eq_mul]
 #align ideal.mem_colon_singleton Ideal.mem_colon_singleton
 
+theorem annihilator_quotient {N : Submodule R M} :
+    Module.annihilator R (M ⧸ N) = N.colon ⊤ := by
+  simp_rw [SetLike.ext_iff, Module.mem_annihilator, colon, mem_annihilator, map_top,
+    LinearMap.range_eq_top.mpr (mkQ_surjective N), mem_top, forall_true_left, forall_const]
+
+theorem _root_.Ideal.annihilator_quotient {I : Ideal R} : Module.annihilator R (R ⧸ I) = I := by
+  rw [Submodule.annihilator_quotient, colon_top]
+
 end CommRing
 
 end Submodule
@@ -940,6 +981,8 @@ def radical (I : Ideal R) : Ideal R where
   smul_mem' {r s} := by exact fun ⟨n, h⟩ ↦ ⟨n, (mul_pow r s n).symm ▸ I.mul_mem_left (r ^ n) h⟩
 #align ideal.radical Ideal.radical
 
+theorem mem_radical_iff {r : R} : r ∈ I.radical ↔ ∃ n : ℕ, r ^ n ∈ I := Iff.rfl
+
 /-- An ideal is radical if it contains its radical. -/
 def IsRadical (I : Ideal R) : Prop :=
   I.radical ≤ I
@@ -956,6 +999,10 @@ theorem radical_eq_iff : I.radical = I ↔ I.IsRadical := by
 alias ⟨_, IsRadical.radical⟩ := radical_eq_iff
 #align ideal.is_radical.radical Ideal.IsRadical.radical
 
+theorem isRadical_iff_pow_one_lt (k : ℕ) (hk : 1 < k) : I.IsRadical ↔ ∀ r, r ^ k ∈ I → r ∈ I :=
+  ⟨fun h _r hr ↦ h ⟨k, hr⟩, fun h x ⟨n, hx⟩ ↦
+    k.pow_imp_self_of_one_lt hk _ (fun _ _ ↦ .inr ∘ I.smul_mem _) h n x hx⟩
+
 variable (R)
 
 theorem radical_top : (radical ⊤ : Ideal R) = ⊤ :=
@@ -1018,6 +1065,17 @@ theorem radical_inf : radical (I ⊓ J) = radical I ⊓ radical J :=
       (pow_add r m n).symm ▸ J.mul_mem_left _ hrn⟩
 #align ideal.radical_inf Ideal.radical_inf
 
+variable {I J} in
+theorem IsRadical.inf (hI : IsRadical I) (hJ : IsRadical J) : IsRadical (I ⊓ J) := by
+  rw [IsRadical, radical_inf]; exact inf_le_inf hI hJ
+
+/-- The reverse inclusion does not hold for e.g. `I := fun n : ℕ ↦ Ideal.span {(2 ^ n : ℤ)}`. -/
+theorem radical_iInf_le {ι} (I : ι → Ideal R) : radical (⨅ i, I i) ≤ ⨅ i, radical (I i) :=
+  le_iInf fun _ ↦ radical_mono (iInf_le _ _)
+
+theorem isRadical_iInf {ι} (I : ι → Ideal R) (hI : ∀ i, IsRadical (I i)) : IsRadical (⨅ i, I i) :=
+  (radical_iInf_le I).trans (iInf_mono hI)
+
 theorem radical_mul : radical (I * J) = radical I ⊓ radical J := by
   refine le_antisymm ?_ fun r ⟨⟨m, hrm⟩, ⟨n, hrn⟩⟩ =>
     ⟨m + n, (pow_add r m n).symm ▸ mul_mem_mul hrm hrn⟩
chore: Golf Ideal.radical_pow (#11144)

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

Diff
@@ -1092,20 +1092,9 @@ variable {R}
 
 variable (I)
 
-theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
-  Nat.recOn n (Not.elim (by decide))
-    (fun n ih H =>
-      Or.casesOn (lt_or_eq_of_le <| Nat.le_of_lt_succ H)
-        (fun H =>
-          calc
-            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by
-              rw [pow_succ]
-              exact radical_mul _ _
-            _ = radical I ⊓ radical I := by rw [ih H]
-            _ = radical I := inf_idem
-            )
-        fun H => H ▸ (pow_one I).symm ▸ rfl)
-    H
+lemma radical_pow : ∀ {n}, n ≠ 0 → radical (I ^ n) = radical I
+  | 1, _ => by simp
+  | n + 2, _ => by rw [pow_succ, radical_mul, radical_pow n.succ_ne_zero, inf_idem]
 #align ideal.radical_pow Ideal.radical_pow
 
 theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P := by
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -2285,7 +2285,7 @@ theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {
       ⟨comap f j, ⟨⟨map_le_iff_le_comap.1 hj, comap_isPrime f j⟩, map_comap_of_surjective f hf j⟩⟩
   · rintro ⟨J, ⟨hJ, hJ'⟩⟩
     haveI : J.IsPrime := hJ.right
-    refine' ⟨hJ' ▸ map_mono hJ.left, hJ' ▸ map_isPrime_of_surjective hf (le_trans h hJ.left)⟩
+    exact ⟨hJ' ▸ map_mono hJ.left, hJ' ▸ map_isPrime_of_surjective hf (le_trans h hJ.left)⟩
 #align ideal.map_radical_of_surjective Ideal.map_radical_of_surjective
 
 end CommRing
chore: classify simp can do this porting notes (#10619)

Classify by adding issue number (#10618) to porting notes claiming anything semantically equivalent to simp can prove this or simp can simplify this.

Diff
@@ -754,11 +754,11 @@ theorem pow_sup_pow_eq_top {m n : ℕ} (h : I ⊔ J = ⊤) : I ^ m ⊔ J ^ n = 
 
 variable (I)
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem mul_bot : I * ⊥ = ⊥ := by simp
 #align ideal.mul_bot Ideal.mul_bot
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove thisrove this
 theorem bot_mul : ⊥ * I = ⊥ := by simp
 #align ideal.bot_mul Ideal.bot_mul
 
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

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

Zulip thread

Important changes

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

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

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

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

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

Similarly, MyEquivClass should take EquivLike as a parameter.

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

Remaining issues

Slower (failing) search

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

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

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

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

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

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

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

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

simp not firing sometimes

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

Missing instances due to unification failing

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

Workaround for issues

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

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

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

Diff
@@ -1341,7 +1341,7 @@ section Semiring
 
 variable {F : Type*} [Semiring R] [Semiring S]
 
-variable [rc : RingHomClass F R S]
+variable [FunLike F R S] [rc : RingHomClass F R S]
 
 variable (f : F)
 
@@ -1357,7 +1357,7 @@ def map (I : Ideal R) : Ideal S :=
 def comap (I : Ideal S) : Ideal R where
   carrier := f ⁻¹' I
   add_mem' {x y} hx hy := by
-    simp only [Set.mem_preimage, SetLike.mem_coe, map_add] at hx hy ⊢
+    simp only [Set.mem_preimage, SetLike.mem_coe, map_add f] at hx hy ⊢
     exact add_mem hx hy
   zero_mem' := by simp only [Set.mem_preimage, map_zero, SetLike.mem_coe, Submodule.zero_mem]
   smul_mem' c x hx := by
@@ -1402,7 +1402,7 @@ theorem comap_ne_top (hK : K ≠ ⊤) : comap f K ≠ ⊤ :=
   (ne_top_iff_one _).2 <| by rw [mem_comap, map_one]; exact (ne_top_iff_one _).1 hK
 #align ideal.comap_ne_top Ideal.comap_ne_top
 
-variable {G : Type*} [rcg : RingHomClass G S R]
+variable {G : Type*} [FunLike G S R] [rcg : RingHomClass G S R]
 
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
@@ -1727,7 +1727,7 @@ section Ring
 
 variable {F : Type*} [Ring R] [Ring S]
 
-variable [RingHomClass F R S] (f : F) {I : Ideal R}
+variable [FunLike F R S] [RingHomClass F R S] (f : F) {I : Ideal R}
 
 section Surjective
 
@@ -1828,8 +1828,8 @@ end Bijective
 
 theorem RingEquiv.bot_maximal_iff (e : R ≃+* S) :
     (⊥ : Ideal R).IsMaximal ↔ (⊥ : Ideal S).IsMaximal :=
-  ⟨fun h => @map_bot _ _ _ _ _ _ e.toRingHom ▸ map.isMaximal e.toRingHom e.bijective h, fun h =>
-    @map_bot _ _ _ _ _ _ e.symm.toRingHom ▸ map.isMaximal e.symm.toRingHom e.symm.bijective h⟩
+  ⟨fun h => map_bot (f := e.toRingHom) ▸ map.isMaximal e.toRingHom e.bijective h, fun h =>
+    map_bot (f := e.symm.toRingHom) ▸ map.isMaximal e.symm.toRingHom e.symm.bijective h⟩
 #align ideal.ring_equiv.bot_maximal_iff Ideal.RingEquiv.bot_maximal_iff
 
 end Ring
@@ -1838,7 +1838,7 @@ section CommRing
 
 variable {F : Type*} [CommRing R] [CommRing S]
 
-variable [rc : RingHomClass F R S]
+variable [FunLike F R S] [rc : RingHomClass F R S]
 
 variable (f : F)
 
@@ -2077,7 +2077,8 @@ section Semiring
 
 variable {F : Type*} {G : Type*} [Semiring R] [Semiring S] [Semiring T]
 
-variable [rcf : RingHomClass F R S] [rcg : RingHomClass G T S] (f : F) (g : G)
+variable [FunLike F R S] [rcf : RingHomClass F R S] [FunLike G T S] [rcg : RingHomClass G T S]
+variable (f : F) (g : G)
 
 /-- Kernel of a ring homomorphism as an ideal of the domain. -/
 def ker : Ideal R :=
@@ -2123,7 +2124,7 @@ end Semiring
 
 section Ring
 
-variable {F : Type*} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
+variable {F : Type*} [Ring R] [Semiring S] [FunLike F R S] [rc : RingHomClass F R S] (f : F)
 
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ := by
   rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]
@@ -2140,7 +2141,7 @@ theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
 #align ring_hom.ker_coe_equiv RingHom.ker_coe_equiv
 
 @[simp]
-theorem ker_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
+theorem ker_equiv {F' : Type*} [EquivLike F' R S] [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_equiv RingHom.ker_equiv
 
@@ -2148,7 +2149,7 @@ end Ring
 
 section RingRing
 
-variable {F : Type*} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
+variable {F : Type*} [Ring R] [Ring S] [FunLike F R S] [rc : RingHomClass F R S] (f : F)
 
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
@@ -2160,7 +2161,8 @@ theorem ker_rangeRestrict (f : R →+* S) : ker f.rangeRestrict = ker f :=
 end RingRing
 
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
-theorem ker_isPrime {F : Type*} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
+theorem ker_isPrime {F : Type*} [Ring R] [Ring S] [IsDomain S]
+    [FunLike F R S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
   ⟨by
     rw [Ne.def, Ideal.eq_top_iff_one]
@@ -2170,7 +2172,8 @@ theorem ker_isPrime {F : Type*} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
-theorem ker_isMaximal_of_surjective {R K F : Type*} [Ring R] [Field K] [RingHomClass F R K] (f : F)
+theorem ker_isMaximal_of_surjective {R K F : Type*} [Ring R] [Field K]
+    [FunLike F R K] [RingHomClass F R K] (f : F)
     (hf : Function.Surjective f) : (ker f).IsMaximal := by
   refine'
     Ideal.isMaximal_iff.mpr
@@ -2191,7 +2194,7 @@ variable {R : Type*} {S : Type*} {F : Type*}
 
 section Semiring
 
-variable [Semiring R] [Semiring S] [rc : RingHomClass F R S]
+variable [Semiring R] [Semiring S] [FunLike F R S] [rc : RingHomClass F R S]
 
 theorem map_eq_bot_iff_le_ker {I : Ideal R} (f : F) : I.map f = ⊥ ↔ I ≤ RingHom.ker f := by
   rw [RingHom.ker, eq_bot_iff, map_le_iff_le_comap]
@@ -2201,8 +2204,8 @@ theorem ker_le_comap {K : Ideal S} (f : F) : RingHom.ker f ≤ comap f K := fun
   mem_comap.2 (((RingHom.mem_ker f).1 hx).symm ▸ K.zero_mem)
 #align ideal.ker_le_comap Ideal.ker_le_comap
 
-theorem map_isPrime_of_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') {I : Ideal R}
-    [IsPrime I] : IsPrime (map f I) := by
+theorem map_isPrime_of_equiv {F' : Type*} [EquivLike F' R S] [RingEquivClass F' R S]
+    (f : F') {I : Ideal R} [IsPrime I] : IsPrime (map f I) := by
   have h : I.map f = I.map ((f : R ≃+* S) : R →+* S) := rfl
   rw [h, map_comap_of_equiv I (f : R ≃+* S)]
   exact Ideal.IsPrime.comap (RingEquiv.symm (f : R ≃+* S))
@@ -2213,7 +2216,7 @@ end Semiring
 
 section Ring
 
-variable [Ring R] [Ring S] [rc : RingHomClass F R S]
+variable [Ring R] [Ring S] [FunLike F R S] [rc : RingHomClass F R S]
 
 theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) := by
@@ -2258,7 +2261,6 @@ theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injecti
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
 #align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injective
 
-
 end Ring
 
 section CommRing
feat: a linear endomorphism that is a root of a squarefree polynomial is semisimple (#10128)

The main result is Module.End.isSemisimple_of_squarefree_aeval_eq_zero

Diff
@@ -1317,6 +1317,7 @@ theorem le_of_dvd {I J : Ideal R} : I ∣ J → J ≤ I
   | ⟨_, h⟩ => h.symm ▸ le_trans mul_le_inf inf_le_left
 #align ideal.le_of_dvd Ideal.le_of_dvd
 
+@[simp]
 theorem isUnit_iff {I : Ideal R} : IsUnit I ↔ I = ⊤ :=
   isUnit_iff_dvd_one.trans
     ((@one_eq_top R _).symm ▸
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -6,10 +6,12 @@ Authors: Kenny Lau
 import Mathlib.Algebra.Algebra.Operations
 import Mathlib.Algebra.Ring.Equiv
 import Mathlib.Data.Nat.Choose.Sum
-import Mathlib.LinearAlgebra.Basis.Bilinear
+import Mathlib.Data.Fintype.Lattice
 import Mathlib.RingTheory.Coprime.Lemmas
 import Mathlib.RingTheory.Ideal.Basic
 import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
+import Mathlib.LinearAlgebra.Basis
+import Mathlib.LinearAlgebra.Quotient
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74"
 
feat: Add Module.Free and Module.Finite instances for ideals (#9804)

Add also a NoZeroSMulDivisors instance.

These instances, in particular, imply directly that integral ideals of number fields are free and finite $\mathbb{Z}$-modules.

Diff
@@ -829,6 +829,10 @@ theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
 instance {R : Type*} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R) where
   eq_zero_or_eq_zero_of_mul_eq_zero := mul_eq_bot.1
 
+instance {R : Type*} [CommSemiring R] {S : Type*} [CommRing S] [Algebra R S]
+    [NoZeroSMulDivisors R S] {I : Ideal S} : NoZeroSMulDivisors R I :=
+  Submodule.noZeroSMulDivisors (Submodule.restrictScalars R I)
+
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 @[simp]
 lemma multiset_prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
feat (RingTheory/Ideal/QuotientOperations) : remove commutativity assumption (#9495)

This PR removes commutativity instances on the target of lift lemmas as well as some equivalences.

It adds two short lemmas:

  • RingHom.quotientKerEquivRangeS, a version of the first isomorphism theorem when the target is only a Semiring
  • RingHom.ker_rangeSRestrict , a version of RingHom.ker_rangeRestrict when the target is only a Semiring.

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>

Diff
@@ -2108,6 +2108,10 @@ lemma _root_.Pi.ker_ringHom {ι : Type*} {R : ι → Type*} [∀ i, Semiring (R
   ext x
   simp [mem_ker, Ideal.mem_iInf, Function.funext_iff]
 
+@[simp]
+theorem ker_rangeSRestrict (f : R →+* S) : ker f.rangeSRestrict = ker f :=
+  Ideal.ext fun _ ↦ Subtype.ext_iff
+
 end Semiring
 
 section Ring
feat: In a ring, sets act on submodules (#7140)

If $M$ is an $R$-module, $N$ a submodule and $S$ a subset of $R$. Then we can define $S \cdot N$ to be the smallest submodule containing all $s \cdot n$ where $s \in S$ and $n \in N$

Co-authored-by: Johan Commelin <johan@commelin.net> Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -110,6 +110,12 @@ theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N
   map₂_le
 #align submodule.smul_le Submodule.smul_le
 
+@[simp, norm_cast]
+lemma coe_set_smul : (I : Set R) • N = I • N :=
+  Submodule.set_smul_eq_of_le _ _ _
+    (fun _ _ hr hx => smul_mem_smul hr hx)
+    (smul_le.mpr fun _ hr _ hx => mem_set_smul_of_mem_mem hr hx)
+
 @[elab_as_elim]
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x := by
@@ -2289,6 +2295,11 @@ instance moduleSubmodule : Module (Ideal R) (Submodule R M) where
   smul_zero := smul_bot
 #align submodule.module_submodule Submodule.moduleSubmodule
 
+lemma span_smul_eq
+    (s : Set R) (N : Submodule R M) :
+    Ideal.span s • N = s • N := by
+  rw [← coe_set_smul, coe_span_smul]
+
 end Submodule
 
 namespace RingHom
chore: deprecate prod_zero_iff_exists_zero (#9281)
  • Make Multiset.prod_eq_zero_iff a simp lemma.
  • Golf and deprecate prod_zero_iff_exists_zero; it was a bad API version of Multiset.prod_eq_zero_iff.
  • Make Ideal.mul_eq_bot a simp lemma`.
  • Add Ideal.multiset_prod_eq_bot (a simp lemma), deprecate Ideal.prod_eq_bot.

The deprecated lemmas prod_zero_iff_exists_zero and Ideal.prod_eq_bot use ∃ x ∈ s, x = 0 instead of a simpler 0 ∈ s in the RHS.

Diff
@@ -809,6 +809,7 @@ theorem pow_right_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n
     exact Ideal.mul_mono e hn
 #align ideal.pow_right_mono Ideal.pow_right_mono
 
+@[simp]
 theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
@@ -823,9 +824,15 @@ instance {R : Type*} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal
   eq_zero_or_eq_zero_of_mul_eq_zero := mul_eq_bot.1
 
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
+@[simp]
+lemma multiset_prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
+    s.prod = ⊥ ↔ ⊥ ∈ s :=
+  Multiset.prod_eq_zero_iff
+
+/-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
+@[deprecated multiset_prod_eq_bot] -- since 26 Dec 2023
 theorem prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
     s.prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ := by
-  rw [bot_eq_zero, prod_zero_iff_exists_zero]
   simp
 #align ideal.prod_eq_bot Ideal.prod_eq_bot
 
chore(*): use ∃ x ∈ s, _ instead of ∃ (x) (_ : x ∈ s), _ (#9215)

Follow-up #9184

Diff
@@ -1024,7 +1024,7 @@ theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J
               hc hyc ⟨n, hrny⟩,
               fun z => le_sSup⟩)
           I hri
-      have : ∀ (x) (_ : x ∉ m), r ∈ radical (m ⊔ span {x}) := fun x hxm =>
+      have : ∀ x ∉ m, r ∈ radical (m ⊔ span {x}) := fun x hxm =>
         by_contradiction fun hrmx =>
           hxm <|
             hm (m ⊔ span {x}) hrmx le_sup_left ▸
refactor: Use Pairwise wherever possible (#9236)

Performed with a regex search for ∀ (.) (.), \1 ≠ \2 →, and a few variants to catch implicit binders and explicit types.

I have deliberately avoided trying to make the analogous Set.Pairwise transformation (or any Pairwise (foo on bar) transformations) in this PR, to keep the diff small.

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -640,10 +640,10 @@ theorem iInf_span_singleton {ι : Type*} [Fintype ι] {I : ι → R}
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
 theorem iInf_span_singleton_natCast {R : Type*} [CommRing R] {ι : Type*} [Fintype ι]
-    {I : ι → ℕ} (hI : ∀ (i j : ι), i ≠ j → (I i).Coprime (I j)) :
+    {I : ι → ℕ} (hI : Pairwise fun i j => (I i).Coprime (I j)) :
     ⨅ (i : ι), span {(I i : R)} = span {((∏ i : ι, I i : ℕ) : R)} := by
   rw [iInf_span_singleton, Nat.cast_prod]
-  exact fun i j h ↦ (hI i j h).cast
+  exact fun i j h ↦ (hI h).cast
 
 theorem sup_eq_top_iff_isCoprime {R : Type*} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y := by
chore: remove uses of cases' (#9171)

I literally went through and regex'd some uses of cases', replacing them with rcases; this is meant to be a low effort PR as I hope that tools can do this in the future.

rcases is an easier replacement than cases, though with better tools we could in future do a second pass converting simple rcases added here (and existing ones) to cases.

Diff
@@ -1271,7 +1271,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
         rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
           subset_union_prime' hp', ← or_assoc, or_self_iff] at h
         rwa [Finset.exists_mem_insert]
-      cases' s.eq_empty_or_nonempty with hse hsne
+      rcases s.eq_empty_or_nonempty with hse | hsne
       · subst hse
         rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
chore: Rename pow monotonicity lemmas (#9095)

The names for lemmas about monotonicity of (a ^ ·) and (· ^ n) were a mess. This PR tidies up everything related by following the naming convention for (a * ·) and (· * b). Namely, (a ^ ·) is pow_right and (· ^ n) is pow_left in lemma names. All lemma renames follow the corresponding multiplication lemma names closely.

Renames

Algebra.GroupPower.Order

  • pow_monopow_right_mono
  • pow_le_powpow_le_pow_right
  • pow_le_pow_of_le_leftpow_le_pow_left
  • pow_lt_pow_of_lt_leftpow_lt_pow_left
  • strictMonoOn_powpow_left_strictMonoOn
  • pow_strictMono_rightpow_right_strictMono
  • pow_lt_powpow_lt_pow_right
  • pow_lt_pow_iffpow_lt_pow_iff_right
  • pow_le_pow_iffpow_le_pow_iff_right
  • self_lt_powlt_self_pow
  • strictAnti_powpow_right_strictAnti
  • pow_lt_pow_iff_of_lt_onepow_lt_pow_iff_right_of_lt_one
  • pow_lt_pow_of_lt_onepow_lt_pow_right_of_lt_one
  • lt_of_pow_lt_powlt_of_pow_lt_pow_left
  • le_of_pow_le_powle_of_pow_le_pow_left
  • pow_lt_pow₀pow_lt_pow_right₀

Algebra.GroupPower.CovariantClass

  • pow_le_pow_of_le_left'pow_le_pow_left'
  • nsmul_le_nsmul_of_le_rightnsmul_le_nsmul_right
  • pow_lt_pow'pow_lt_pow_right'
  • nsmul_lt_nsmulnsmul_lt_nsmul_left
  • pow_strictMono_leftpow_right_strictMono'
  • nsmul_strictMono_rightnsmul_left_strictMono
  • StrictMono.pow_right'StrictMono.pow_const
  • StrictMono.nsmul_leftStrictMono.const_nsmul
  • pow_strictMono_right'pow_left_strictMono
  • nsmul_strictMono_leftnsmul_right_strictMono
  • Monotone.pow_rightMonotone.pow_const
  • Monotone.nsmul_leftMonotone.const_nsmul
  • lt_of_pow_lt_pow'lt_of_pow_lt_pow_left'
  • lt_of_nsmul_lt_nsmullt_of_nsmul_lt_nsmul_right
  • pow_le_pow'pow_le_pow_right'
  • nsmul_le_nsmulnsmul_le_nsmul_left
  • pow_le_pow_of_le_one'pow_le_pow_right_of_le_one'
  • nsmul_le_nsmul_of_nonposnsmul_le_nsmul_left_of_nonpos
  • le_of_pow_le_pow'le_of_pow_le_pow_left'
  • le_of_nsmul_le_nsmul'le_of_nsmul_le_nsmul_right'
  • pow_le_pow_iff'pow_le_pow_iff_right'
  • nsmul_le_nsmul_iffnsmul_le_nsmul_iff_left
  • pow_lt_pow_iff'pow_lt_pow_iff_right'
  • nsmul_lt_nsmul_iffnsmul_lt_nsmul_iff_left

Data.Nat.Pow

  • Nat.pow_lt_pow_of_lt_leftNat.pow_lt_pow_left
  • Nat.pow_le_iff_le_leftNat.pow_le_pow_iff_left
  • Nat.pow_lt_iff_lt_leftNat.pow_lt_pow_iff_left

Lemmas added

  • pow_le_pow_iff_left
  • pow_lt_pow_iff_left
  • pow_right_injective
  • pow_right_inj
  • Nat.pow_le_pow_left to have the correct name since Nat.pow_le_pow_of_le_left is in Std.
  • Nat.pow_le_pow_right to have the correct name since Nat.pow_le_pow_of_le_right is in Std.

Lemmas removed

  • self_le_pow was a duplicate of le_self_pow.
  • Nat.pow_lt_pow_of_lt_right is defeq to pow_lt_pow_right.
  • Nat.pow_right_strictMono is defeq to pow_right_strictMono.
  • Nat.pow_le_iff_le_right is defeq to pow_le_pow_iff_right.
  • Nat.pow_lt_iff_lt_right is defeq to pow_lt_pow_iff_right.

Other changes

  • A bunch of proofs have been golfed.
  • Some lemma assumptions have been turned from 0 < n or 1 ≤ n to n ≠ 0.
  • A few Nat lemmas have been protected.
  • One docstring has been fixed.
Diff
@@ -790,24 +790,24 @@ theorem sup_mul : (I ⊔ J) * K = I * K ⊔ J * K :=
 
 variable {I J K}
 
-theorem pow_le_pow {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m := by
+theorem pow_le_pow_right {m n : ℕ} (h : m ≤ n) : I ^ n ≤ I ^ m := by
   cases' Nat.exists_eq_add_of_le h with k hk
   rw [hk, pow_add]
   exact le_trans mul_le_inf inf_le_left
-#align ideal.pow_le_pow Ideal.pow_le_pow
+#align ideal.pow_le_pow_right Ideal.pow_le_pow_right
 
 theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
-    I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
+    I ^ n ≤ I ^ 1 := pow_le_pow_right (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
 #align ideal.pow_le_self Ideal.pow_le_self
 
-theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n := by
+theorem pow_right_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n := by
   induction' n with _ hn
   · rw [pow_zero, pow_zero]
   · rw [pow_succ, pow_succ]
     exact Ideal.mul_mono e hn
-#align ideal.pow_mono Ideal.pow_mono
+#align ideal.pow_right_mono Ideal.pow_right_mono
 
 theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
chore(Ideal/Operations): remove extraneous nonempty conditions (#9115)

Also generalizes Ideal.subset_union to Subgroup.

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

Diff
@@ -1089,71 +1089,39 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
     H
 #align ideal.radical_pow Ideal.radical_pow
 
-theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P :=
-  ⟨fun h =>
-    or_iff_not_imp_left.2 fun hip _ hj =>
-      let ⟨_, hi, hip⟩ := Set.not_subset.1 hip
-      (hp.mem_or_mem <| h <| mul_mem_mul hi hj).resolve_left hip,
-    fun h =>
-    Or.casesOn h (le_trans <| le_trans mul_le_inf inf_le_left)
-      (le_trans <| le_trans mul_le_inf inf_le_right)⟩
+theorem IsPrime.mul_le {I J P : Ideal R} (hp : IsPrime P) : I * J ≤ P ↔ I ≤ P ∨ J ≤ P := by
+  rw [or_comm, Ideal.mul_le]
+  simp_rw [hp.mul_mem_iff_mem_or_mem, SetLike.le_def, ← forall_or_left, or_comm, forall_or_left]
 #align ideal.is_prime.mul_le Ideal.IsPrime.mul_le
 
 theorem IsPrime.inf_le {I J P : Ideal R} (hp : IsPrime P) : I ⊓ J ≤ P ↔ I ≤ P ∨ J ≤ P :=
-  ⟨fun h => hp.mul_le.1 <| le_trans mul_le_inf h, fun h =>
-    Or.casesOn h (le_trans inf_le_left) (le_trans inf_le_right)⟩
+  ⟨fun h ↦ hp.mul_le.1 <| mul_le_inf.trans h, fun h ↦ h.elim inf_le_left.trans inf_le_right.trans⟩
 #align ideal.is_prime.inf_le Ideal.IsPrime.inf_le
 
-theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P)
-    (hne : s ≠ 0) : s.prod ≤ P ↔ ∃ I ∈ s, I ≤ P := by
-  suffices s.prod ≤ P → ∃ I ∈ s, I ≤ P from
-    ⟨this, fun ⟨i, his, hip⟩ => le_trans multiset_prod_le_inf <| le_trans (Multiset.inf_le his) hip⟩
-  classical
-    obtain ⟨b, hb⟩ : ∃ b, b ∈ s := Multiset.exists_mem_of_ne_zero hne
-    obtain ⟨t, rfl⟩ : ∃ t, s = b ::ₘ t
-    exact ⟨s.erase b, (Multiset.cons_erase hb).symm⟩
-    refine' t.induction_on _ _
-    · simp only [exists_prop, Multiset.cons_zero, Multiset.prod_singleton, Multiset.mem_singleton,
-        exists_eq_left, imp_self]
-    intro a s ih h
-    rw [Multiset.cons_swap, Multiset.prod_cons, hp.mul_le] at h
-    rw [Multiset.cons_swap]
-    cases' h with h h
-    · exact ⟨a, Multiset.mem_cons_self a _, h⟩
-    obtain ⟨I, hI, ih⟩ : ∃ I ∈ b ::ₘ s, I ≤ P := ih h
-    exact ⟨I, Multiset.mem_cons_of_mem hI, ih⟩
+theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : IsPrime P) :
+    s.prod ≤ P ↔ ∃ I ∈ s, I ≤ P :=
+  s.induction_on (by simp [hp.ne_top]) fun I s ih ↦ by simp [hp.mul_le, ih]
 #align ideal.is_prime.multiset_prod_le Ideal.IsPrime.multiset_prod_le
 
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
-    (hp : IsPrime P) (hne : s ≠ 0) : (s.map f).prod ≤ P ↔ ∃ i ∈ s, f i ≤ P := by
-  rw [hp.multiset_prod_le (mt Multiset.map_eq_zero.mp hne)]
-  simp_rw [Multiset.mem_map, exists_exists_and_eq_and]
+    (hp : IsPrime P) : (s.map f).prod ≤ P ↔ ∃ i ∈ s, f i ≤ P := by
+  simp_rw [hp.multiset_prod_le, Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
 
-theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
-    (hne : s.Nonempty) : s.prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
-  hp.multiset_prod_map_le f (mt Finset.val_eq_zero.mp hne.ne_empty)
+theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P) :
+    s.prod f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
+  hp.multiset_prod_map_le f
 #align ideal.is_prime.prod_le Ideal.IsPrime.prod_le
 
-theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
-    (hsne : s.Nonempty) : s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
-  ⟨fun h => (hp.prod_le hsne).1 <| le_trans prod_le_inf h, fun ⟨_, his, hip⟩ =>
-    le_trans (Finset.inf_le his) hip⟩
+theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P) :
+    s.inf f ≤ P ↔ ∃ i ∈ s, f i ≤ P :=
+  ⟨fun h ↦ hp.prod_le.1 <| prod_le_inf.trans h, fun ⟨_, his, hip⟩ ↦ (Finset.inf_le his).trans hip⟩
 #align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'
 
 -- Porting note: needed to add explicit coercions (· : Set R).
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
-  ⟨fun h =>
-    or_iff_not_imp_left.2 fun hij s hsi =>
-      let ⟨r, hri, hrj⟩ := Set.not_subset.1 hij
-      by_contradiction fun hsk =>
-        Or.casesOn (h <| I.add_mem hri hsi)
-          (fun hj => hrj <| add_sub_cancel r s ▸ J.sub_mem hj ((h hsi).resolve_right hsk)) fun hk =>
-          hsk <| add_sub_cancel' r s ▸ K.sub_mem hk ((h hri).resolve_left hrj),
-    fun h =>
-    Or.casesOn h (fun h => Set.Subset.trans h <| Set.subset_union_left (J : Set R) K) fun h =>
-      Set.Subset.trans h <| Set.subset_union_right (J : Set R) K ⟩
+  AddSubgroupClass.subset_union
 #align ideal.subset_union Ideal.subset_union
 
 theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} {a b : ι}
@@ -1233,10 +1201,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     by_cases Hi : I ≤ f i
     · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
     have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i := by
-      rcases t.eq_empty_or_nonempty with (rfl | hsne)
-      · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
-        exact ⟨⟨Hi, Ha⟩, Hb⟩
-      simp only [hp.1.inf_le, hp.1.inf_le' hsne, not_or]
+      simp only [hp.1.inf_le, hp.1.inf_le', not_or]
       exact ⟨⟨⟨Hi, Ha⟩, Hb⟩, Ht⟩
     rcases Set.not_subset.1 this with ⟨r, ⟨⟨⟨hrI, hra⟩, hrb⟩, hr⟩, hri⟩
     by_cases HI : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j
chore: Replace (· op ·) a by (a op ·) (#8843)

I used the regex \(\(· (.) ·\) (.)\), replacing with ($2 $1 ·).

Diff
@@ -587,7 +587,7 @@ theorem span_singleton_mul_left_inj [IsDomain R] {x : R} (hx : x ≠ 0) :
 #align ideal.span_singleton_mul_left_inj Ideal.span_singleton_mul_left_inj
 
 theorem span_singleton_mul_right_injective [IsDomain R] {x : R} (hx : x ≠ 0) :
-    Function.Injective ((· * ·) (span {x} : Ideal R)) := fun _ _ =>
+    Function.Injective ((span {x} : Ideal R) * ·) := fun _ _ =>
   (span_singleton_mul_right_inj hx).mp
 #align ideal.span_singleton_mul_right_injective Ideal.span_singleton_mul_right_injective
 
chore: Move RingTheory/NonZeroDivisors under Algebra instead. (#8685)

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

Diff
@@ -9,7 +9,7 @@ import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Basis.Bilinear
 import Mathlib.RingTheory.Coprime.Lemmas
 import Mathlib.RingTheory.Ideal.Basic
-import Mathlib.RingTheory.NonZeroDivisors
+import Mathlib.Algebra.GroupWithZero.NonZeroDivisors
 
 #align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74"
 
feat (Mathlib.RingTheory.Ideal.Operations) : Change hypotheses from ring to semiring (#8469)

Moved some results from ring to semiring.

Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com> Co-authored-by: Xavier Xarles <56635243+XavierXarles@users.noreply.github.com>

Diff
@@ -1701,6 +1701,41 @@ theorem comap_bot_of_injective : Ideal.comap f ⊥ = ⊥ :=
 
 end Injective
 
+/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f.symm (map f I) = I`. -/
+@[simp]
+theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
+    (I.map (f : R →+* S)).map (f.symm : S →+* R) = I := by
+  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, map_map,
+    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, map_id]
+#align ideal.map_of_equiv Ideal.map_of_equiv
+
+/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`,
+  then `comap f (comap f.symm I) = I`. -/
+@[simp]
+theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
+    (I.comap (f.symm : S →+* R)).comap (f : R →+* S) = I := by
+  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, comap_comap,
+    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, comap_id]
+#align ideal.comap_of_equiv Ideal.comap_of_equiv
+
+/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f I = comap f.symm I`. -/
+theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
+  le_antisymm (Ideal.map_le_comap_of_inverse _ _ _ (Equiv.left_inv' _))
+      (Ideal.comap_le_map_of_inverse _ _ _ (Equiv.right_inv' _))
+#align ideal.map_comap_of_equiv Ideal.map_comap_of_equiv
+
+/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `comap f.symm I = map f I`. -/
+@[simp]
+theorem comap_symm (I : Ideal R) (f : R ≃+* S) : I.comap f.symm = I.map f :=
+  (map_comap_of_equiv I f).symm
+
+/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f.symm I = comap f I`. -/
+@[simp]
+theorem map_symm (I : Ideal S) (f : R ≃+* S) : I.map f.symm = I.comap f :=
+  map_comap_of_equiv I (RingEquiv.symm f)
+
+
+
 end Semiring
 
 section Ring
@@ -1774,27 +1809,6 @@ theorem comap_le_comap_iff_of_surjective (I J : Ideal S) : comap f I ≤ comap f
 
 end Surjective
 
-/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f (map f.symm) = I`. -/
-@[simp]
-theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
-    (I.map (f : R →+* S)).map (f.symm : S →+* R) = I := by
-  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, map_map,
-    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, map_id]
-#align ideal.map_of_equiv Ideal.map_of_equiv
-
-/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `comap f.symm (comap f) = I`. -/
-@[simp]
-theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
-    (I.comap (f.symm : S →+* R)).comap (f : R →+* S) = I := by
-  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, comap_comap,
-    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, comap_id]
-#align ideal.comap_of_equiv Ideal.comap_of_equiv
-
-/-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f I = comap f.symm I`. -/
-theorem map_comap_of_equiv (I : Ideal R) (f : R ≃+* S) : I.map (f : R →+* S) = I.comap f.symm :=
-  le_antisymm (le_comap_of_map_le (map_of_equiv I f).le)
-    (le_map_of_comap_le_of_surjective _ f.surjective (comap_of_equiv I f).le)
-#align ideal.map_comap_of_equiv Ideal.map_comap_of_equiv
 
 section Bijective
 
@@ -2198,6 +2212,14 @@ theorem ker_le_comap {K : Ideal S} (f : F) : RingHom.ker f ≤ comap f K := fun
   mem_comap.2 (((RingHom.mem_ker f).1 hx).symm ▸ K.zero_mem)
 #align ideal.ker_le_comap Ideal.ker_le_comap
 
+theorem map_isPrime_of_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') {I : Ideal R}
+    [IsPrime I] : IsPrime (map f I) := by
+  have h : I.map f = I.map ((f : R ≃+* S) : R →+* S) := rfl
+  rw [h, map_comap_of_equiv I (f : R ≃+* S)]
+  exact Ideal.IsPrime.comap (RingEquiv.symm (f : R ≃+* S))
+#align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equiv
+
+
 end Semiring
 
 section Ring
@@ -2247,10 +2269,6 @@ theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injecti
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
 #align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injective
 
-theorem map_isPrime_of_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') {I : Ideal R}
-    [IsPrime I] : IsPrime (map f I) :=
-  map_isPrime_of_surjective (EquivLike.surjective f) <| by simp only [RingHom.ker_equiv, bot_le]
-#align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equiv
 
 end Ring
 
feat(Counterexamples/CliffordAlgebra_not_injective): algebraMap is not always injective. (#6657)

This provides a counterexample for the claim that Function.Injective (algebraMap R <| CliffordAlgebra Q).

This is a formalization of https://mathoverflow.[net/questions/60596/clifford-pbw-theorem-for-quadratic-form/87958#87958](https://github.com/net/questions/60596/clifford-pbw-theorem-for-quadratic-form/87958/pull/87958)

Some Zulip discussion is at https://leanprover.zulipchat.com/#narrow/stream/113489-new-members/topic/.F0.9D.94.BD.E2.82.82.5B.CE.B1.2C.20.CE.B2.2C.20.CE.B3.5D.20.2F.20.28.CE.B1.C2.B2.2C.20.CE.B2.C2.B2.2C.20.CE.B3.C2.B2.29/near/222716333.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -2035,6 +2035,21 @@ end Basis
 
 end Ideal
 
+section span_range
+variable {α R : Type*} [Semiring R]
+
+theorem Finsupp.mem_ideal_span_range_iff_exists_finsupp {x : R} {v : α → R} :
+    x ∈ Ideal.span (Set.range v) ↔ ∃ c : α →₀ R, (c.sum fun i a => a * v i) = x :=
+  Finsupp.mem_span_range_iff_exists_finsupp
+
+/-- An element `x` lies in the span of `v` iff it can be written as sum `∑ cᵢ • vᵢ = x`.
+-/
+theorem mem_ideal_span_range_iff_exists_fun [Fintype α] {x : R} {v : α → R} :
+    x ∈ Ideal.span (Set.range v) ↔ ∃ c : α → R, ∑ i, c i * v i = x :=
+  mem_span_range_iff_exists_fun _
+
+end span_range
+
 theorem Associates.mk_ne_zero' {R : Type*} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
feat (LinearAlgebra/TensorProduct/RightExactness): right exactness of tensor product for algebras (#7533)

Prove right exactness of tensor product for algebras.

  • Algebra.TensorProduct.ker_map computes the kernel of Algebra.TensorProduct.map f g

  • Algebra.TensorProduct.lTensor_ker and Algebra.TensorProduct.rTensor_ker compute the kernels of Algebra.TensorProduct.map f id and Algebra.TensorProduct.map id g

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>

Diff
@@ -2376,3 +2376,15 @@ theorem eq_liftOfRightInverse (hf : Function.RightInverse f_inv f) (g : A →+*
 #align ring_hom.eq_lift_of_right_inverse RingHom.eq_liftOfRightInverse
 
 end RingHom
+
+namespace AlgHom
+
+variable {R A B : Type*} [CommSemiring R] [Semiring A] [Semiring B]
+    [Algebra R A] [Algebra R B] (f : A →ₐ[R] B)
+
+lemma coe_ker : RingHom.ker f = RingHom.ker (f : A →+* B) := rfl
+
+lemma coe_ideal_map (I : Ideal A) :
+    Ideal.map f I = Ideal.map (f : A →+* B) I := rfl
+
+end AlgHom
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -2018,6 +2018,9 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
   simp only [basisSpanSingleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
+  -- This used to be the end of the proof before leanprover/lean4#2644
+  erw [LinearEquiv.coe_ofEq_apply, LinearEquiv.ofInjective_apply, Algebra.coe_lmul_eq_mul,
+    LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -2018,9 +2018,6 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
   simp only [basisSpanSingleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
-  -- This used to be the end of the proof before leanprover/lean4#2644
-  erw [LinearEquiv.coe_ofEq_apply, LinearEquiv.ofInjective_apply, Algebra.coe_lmul_eq_mul,
-    LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2018,6 +2018,9 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
   simp only [basisSpanSingleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
+  -- This used to be the end of the proof before leanprover/lean4#2644
+  erw [LinearEquiv.coe_ofEq_apply, LinearEquiv.ofInjective_apply, Algebra.coe_lmul_eq_mul,
+    LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
feat: Chinese remainder for ZMod. (#7599)
Diff
@@ -632,13 +632,19 @@ theorem finset_inf_span_singleton {ι : Type*} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
-theorem iInf_span_singleton {ι : Type*} [Fintype ι] (I : ι → R)
+theorem iInf_span_singleton {ι : Type*} [Fintype ι] {I : ι → R}
     (hI : ∀ (i j) (_ : i ≠ j), IsCoprime (I i) (I j)) :
-    ⨅ i, Ideal.span ({I i} : Set R) = Ideal.span {∏ i, I i} := by
+    ⨅ i, span ({I i} : Set R) = span {∏ i, I i} := by
   rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
+theorem iInf_span_singleton_natCast {R : Type*} [CommRing R] {ι : Type*} [Fintype ι]
+    {I : ι → ℕ} (hI : ∀ (i j : ι), i ≠ j → (I i).Coprime (I j)) :
+    ⨅ (i : ι), span {(I i : R)} = span {((∏ i : ι, I i : ℕ) : R)} := by
+  rw [iInf_span_singleton, Nat.cast_prod]
+  exact fun i j h ↦ (hI i j h).cast
+
 theorem sup_eq_top_iff_isCoprime {R : Type*} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y := by
   rw [eq_top_iff_one, Submodule.mem_sup]
chore: Refactor Chinese remainders (#7532)
Diff
@@ -875,6 +875,22 @@ theorem isCoprime_span_singleton_iff (x y : R) :
   · rintro ⟨a, _, ⟨b, rfl⟩, e⟩; exact ⟨a, b, mul_comm b y ▸ e⟩
   · rintro ⟨a, b, e⟩; exact ⟨a, _, ⟨b, rfl⟩, mul_comm y b ▸ e⟩
 
+theorem isCoprime_biInf {J : ι → Ideal R} {s : Finset ι}
+    (hf : ∀ j ∈ s, IsCoprime I (J j)) : IsCoprime I (⨅ j ∈ s, J j) := by
+  classical
+  simp_rw [isCoprime_iff_add] at *
+  induction s using Finset.induction with
+  | empty =>
+      simp
+  | @insert i s _ hs =>
+      rw [Finset.iInf_insert, inf_comm, one_eq_top, eq_top_iff, ← one_eq_top]
+      set K := ⨅ j ∈ s, J j
+      calc
+        1 = I + K            := (hs fun j hj ↦ hf j (Finset.mem_insert_of_mem hj)).symm
+        _ = I + K*(I + J i)  := by rw [hf i (Finset.mem_insert_self i s), mul_one]
+        _ = (1+K)*I + K*J i  := by ring
+        _ ≤ I + K ⊓ J i      := add_le_add mul_le_left mul_le_inf
+
 /-- The radical of an ideal `I` consists of the elements `r` such that `r ^ n ∈ I` for some `n`. -/
 def radical (I : Ideal R) : Ideal R where
   carrier := { r | ∃ n : ℕ, r ^ n ∈ I }
@@ -2071,6 +2087,11 @@ theorem ker_ne_top [Nontrivial S] (f : F) : ker f ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr <| not_one_mem_ker f
 #align ring_hom.ker_ne_top RingHom.ker_ne_top
 
+lemma _root_.Pi.ker_ringHom {ι : Type*} {R : ι → Type*} [∀ i, Semiring (R i)]
+    (φ : ∀ i, S →+* R i) : ker (Pi.ringHom φ) = ⨅ i, ker (φ i) := by
+  ext x
+  simp [mem_ker, Ideal.mem_iInf, Function.funext_iff]
+
 end Semiring
 
 section Ring
feat: first isomorphism theorem for rings (#7536)

This matches the textbook version which does not assume surjectivity, and is also consistent with the Mathlib group theory version.

Diff
@@ -2105,6 +2105,10 @@ variable {F : Type*} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
 
+@[simp]
+theorem ker_rangeRestrict (f : R →+* S) : ker f.rangeRestrict = ker f :=
+  Ideal.ext fun _ ↦ Subtype.ext_iff
+
 end RingRing
 
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
chore: Use IsCoprime for ideals. (#7523)

Make IsCoprime I J the preferred way to say that two ideals are coprime, provide lemmas translating to other formulations.

Diff
@@ -441,6 +441,9 @@ instance : Mul (Ideal R) :=
 theorem one_eq_top : (1 : Ideal R) = ⊤ := by erw [Submodule.one_eq_range, LinearMap.range_id]
 #align ideal.one_eq_top Ideal.one_eq_top
 
+theorem add_eq_one_iff : I + J = 1 ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1 := by
+  rw [one_eq_top, eq_top_iff_one, add_eq_sup, Submodule.mem_sup]
+
 theorem mul_mem_mul {r s} (hr : r ∈ I) (hs : s ∈ J) : r * s ∈ I * J :=
   Submodule.smul_mem_smul hr hs
 #align ideal.mul_mem_mul Ideal.mul_mem_mul
@@ -839,7 +842,30 @@ theorem isCoprime_iff_codisjoint : IsCoprime I J ↔ Codisjoint I J := by
     simpa only [one_eq_top, top_mul, Submodule.add_eq_sup]
 
 theorem isCoprime_iff_add : IsCoprime I J ↔ I + J = 1 := by
-  rw [isCoprime_iff_codisjoint, codisjoint_iff, Submodule.add_eq_sup, one_eq_top]
+  rw [isCoprime_iff_codisjoint, codisjoint_iff, add_eq_sup, one_eq_top]
+
+theorem isCoprime_iff_exists : IsCoprime I J ↔ ∃ i ∈ I, ∃ j ∈ J, i + j = 1 := by
+  rw [← add_eq_one_iff, isCoprime_iff_add]
+
+theorem isCoprime_iff_sup_eq : IsCoprime I J ↔ I ⊔ J = ⊤ := by
+  rw [isCoprime_iff_codisjoint, codisjoint_iff]
+
+open List in
+theorem isCoprime_tfae : TFAE [IsCoprime I J, Codisjoint I J, I + J = 1,
+    ∃ i ∈ I, ∃ j ∈ J, i + j = 1, I ⊔ J = ⊤] := by
+  rw [← isCoprime_iff_codisjoint, ← isCoprime_iff_add, ← isCoprime_iff_exists,
+      ← isCoprime_iff_sup_eq]
+  simp
+
+theorem _root_.IsCoprime.codisjoint (h : IsCoprime I J) : Codisjoint I J :=
+  isCoprime_iff_codisjoint.mp h
+
+theorem _root_.IsCoprime.add_eq (h : IsCoprime I J) : I + J = 1 := isCoprime_iff_add.mp h
+
+theorem _root_.IsCoprime.exists (h : IsCoprime I J) : ∃ i ∈ I, ∃ j ∈ J, i + j = 1 :=
+  isCoprime_iff_exists.mp h
+
+theorem _root_.IsCoprime.sup_eq (h : IsCoprime I J) : I ⊔ J = ⊤ := isCoprime_iff_sup_eq.mp h
 
 theorem isCoprime_span_singleton_iff (x y : R) :
     IsCoprime (span <| singleton x) (span <| singleton y) ↔ IsCoprime x y := by
feat: add some ring theory lemmas (#7466)

From flt-regular.

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

Diff
@@ -825,6 +825,30 @@ theorem span_pair_mul_span_pair (w x y z : R) :
   simp_rw [span_insert, sup_mul, mul_sup, span_singleton_mul_span_singleton, sup_assoc]
 #align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pair
 
+theorem isCoprime_iff_codisjoint : IsCoprime I J ↔ Codisjoint I J := by
+  rw [IsCoprime, codisjoint_iff]
+  constructor
+  · rintro ⟨x, y, hxy⟩
+    rw [eq_top_iff_one]
+    apply (show x * I + y * J ≤ I ⊔ J from
+      sup_le (mul_le_left.trans le_sup_left) (mul_le_left.trans le_sup_right))
+    rw [hxy]
+    simp only [one_eq_top, Submodule.mem_top]
+  · intro h
+    refine' ⟨1, 1, _⟩
+    simpa only [one_eq_top, top_mul, Submodule.add_eq_sup]
+
+theorem isCoprime_iff_add : IsCoprime I J ↔ I + J = 1 := by
+  rw [isCoprime_iff_codisjoint, codisjoint_iff, Submodule.add_eq_sup, one_eq_top]
+
+theorem isCoprime_span_singleton_iff (x y : R) :
+    IsCoprime (span <| singleton x) (span <| singleton y) ↔ IsCoprime x y := by
+  simp_rw [isCoprime_iff_codisjoint, codisjoint_iff, eq_top_iff_one, mem_span_singleton_sup,
+    mem_span_singleton]
+  constructor
+  · rintro ⟨a, _, ⟨b, rfl⟩, e⟩; exact ⟨a, b, mul_comm b y ▸ e⟩
+  · rintro ⟨a, b, e⟩; exact ⟨a, _, ⟨b, rfl⟩, mul_comm y b ▸ e⟩
+
 /-- The radical of an ideal `I` consists of the elements `r` such that `r ^ n ∈ I` for some `n`. -/
 def radical (I : Ideal R) : Ideal R where
   carrier := { r | ∃ n : ℕ, r ^ n ∈ I }
style: fix multiple spaces before colon (#7411)

Purely cosmetic PR

Diff
@@ -260,7 +260,7 @@ submodule `M'` of `x`, we only need to show that `r ^ n • x ∈ M'` for some `
 theorem mem_of_span_eq_top_of_smul_pow_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤)
     (x : M) (H : ∀ r : s, ∃ n : ℕ, ((r : R) ^ n : R) • x ∈ M') : x ∈ M' := by
   obtain ⟨s', hs₁, hs₂⟩ := (Ideal.span_eq_top_iff_finite _).mp hs
-  replace H : ∀ r : s', ∃ n : ℕ, ((r : R) ^ n  : R) • x ∈ M' := fun r => H ⟨_, hs₁ r.2⟩
+  replace H : ∀ r : s', ∃ n : ℕ, ((r : R) ^ n : R) • x ∈ M' := fun r => H ⟨_, hs₁ r.2⟩
   choose n₁ n₂ using H
   let N := s'.attach.sup n₁
   have hs' := Ideal.span_pow_eq_top (s' : Set R) hs₂ N
style: fix wrapping of where (#7149)
Diff
@@ -810,8 +810,8 @@ theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
     fun h => by cases' h with h h <;> rw [← Ideal.mul_bot, h, Ideal.mul_comm]⟩
 #align ideal.mul_eq_bot Ideal.mul_eq_bot
 
-instance {R : Type*} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
-    where eq_zero_or_eq_zero_of_mul_eq_zero := mul_eq_bot.1
+instance {R : Type*} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R) where
+  eq_zero_or_eq_zero_of_mul_eq_zero := mul_eq_bot.1
 
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
 theorem prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
feat: patch for new alias command (#6172)
Diff
@@ -862,7 +862,7 @@ theorem radical_eq_iff : I.radical = I ↔ I.IsRadical := by
   rw [le_antisymm_iff, and_iff_left le_radical, IsRadical]
 #align ideal.radical_eq_iff Ideal.radical_eq_iff
 
-alias radical_eq_iff ↔ _ IsRadical.radical
+alias ⟨_, IsRadical.radical⟩ := radical_eq_iff
 #align ideal.is_radical.radical Ideal.IsRadical.radical
 
 variable (R)
chore: remove unused simps (#6632)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -1134,7 +1134,6 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         exact h
       specialize ih hp' hn' h'
       refine' ih.imp id (Or.imp id (Exists.imp fun k => _))
-      simp only [exists_prop]
       exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
     by_cases Ha : f a ≤ f i
     · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j := by
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
@@ -23,7 +23,7 @@ open BigOperators Pointwise
 
 namespace Submodule
 
-variable {R : Type u} {M : Type v} {F : Type _} {G : Type _}
+variable {R : Type u} {M : Type v} {F : Type*} {G : Type*}
 
 section CommSemiring
 
@@ -222,11 +222,11 @@ theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I 
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
 
-theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
+theorem smul_iSup {ι : Sort*} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
   map₂_iSup_right _ _ _
 #align submodule.smul_supr Submodule.smul_iSup
 
-theorem smul_iInf_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
+theorem smul_iInf_le {ι : Sort*} {I : Ideal R} {t : ι → Submodule R M} :
     I • iInf t ≤ ⨅ i, I • t i :=
   le_iInf fun _ => smul_mono_right (iInf_le _ _)
 #align submodule.smul_infi_le Submodule.smul_iInf_le
@@ -296,7 +296,7 @@ variable (I)
 
 /-- If `x` is an `I`-multiple of the submodule spanned by `f '' s`,
 then we can write `x` as an `I`-linear combination of the elements of `f '' s`. -/
-theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M) :
+theorem mem_ideal_smul_span_iff_exists_sum {ι : Type*} (f : ι → M) (x : M) :
     x ∈ I • span R (Set.range f) ↔
       ∃ (a : ι →₀ R) (_ : ∀ i, a i ∈ I), (a.sum fun i c => c • f i) = x := by
   constructor; swap
@@ -322,7 +322,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
     rw [Finsupp.sum_smul_index, Finsupp.smul_sum] <;> intros <;> simp only [zero_smul, mul_smul]
 #align submodule.mem_ideal_smul_span_iff_exists_sum Submodule.mem_ideal_smul_span_iff_exists_sum
 
-theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type _} (s : Set ι) (f : ι → M) (x : M) :
+theorem mem_ideal_smul_span_iff_exists_sum' {ι : Type*} (s : Set ι) (f : ι → M) (x : M) :
     x ∈ I • span R (f '' s) ↔ ∃ (a : s →₀ R) (_ : ∀ i, a i ∈ I), (a.sum fun i c => c • f i) = x :=
   by rw [← Submodule.mem_ideal_smul_span_iff_exists_sum, ← Set.image_eq_range]
 #align submodule.mem_ideal_smul_span_iff_exists_sum' Submodule.mem_ideal_smul_span_iff_exists_sum'
@@ -422,7 +422,7 @@ theorem zero_eq_bot : (0 : Ideal R) = ⊥ :=
 #align ideal.zero_eq_bot Ideal.zero_eq_bot
 
 @[simp]
-theorem sum_eq_sup {ι : Type _} (s : Finset ι) (f : ι → Ideal R) : s.sum f = s.sup f :=
+theorem sum_eq_sup {ι : Type*} (s : Finset ι) (f : ι → Ideal R) : s.sum f = s.sup f :=
   rfl
 #align ideal.sum_eq_sup Ideal.sum_eq_sup
 
@@ -430,7 +430,7 @@ end Add
 
 section MulAndRadical
 
-variable {R : Type u} {ι : Type _} [CommSemiring R]
+variable {R : Type u} {ι : Type*} [CommSemiring R]
 
 variable {I J K L : Ideal R}
 
@@ -453,7 +453,7 @@ theorem pow_mem_pow {x : R} (hx : x ∈ I) (n : ℕ) : x ^ n ∈ I ^ n :=
   Submodule.pow_mem_pow _ hx _
 #align ideal.pow_mem_pow Ideal.pow_mem_pow
 
-theorem prod_mem_prod {ι : Type _} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
+theorem prod_mem_prod {ι : Type*} {s : Finset ι} {I : ι → Ideal R} {x : ι → R} :
     (∀ i ∈ s, x i ∈ I i) → (∏ i in s, x i) ∈ ∏ i in s, I i := by
   classical
     refine Finset.induction_on s ?_ ?_
@@ -604,12 +604,12 @@ theorem span_singleton_mul_eq_span_singleton_mul {x y : R} (I J : Ideal R) :
   by simp only [le_antisymm_iff, span_singleton_mul_le_span_singleton_mul, eq_comm]
 #align ideal.span_singleton_mul_eq_span_singleton_mul Ideal.span_singleton_mul_eq_span_singleton_mul
 
-theorem prod_span {ι : Type _} (s : Finset ι) (I : ι → Set R) :
+theorem prod_span {ι : Type*} (s : Finset ι) (I : ι → Set R) :
     (∏ i in s, Ideal.span (I i)) = Ideal.span (∏ i in s, I i) :=
   Submodule.prod_span s I
 #align ideal.prod_span Ideal.prod_span
 
-theorem prod_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R) :
+theorem prod_span_singleton {ι : Type*} (s : Finset ι) (I : ι → R) :
     (∏ i in s, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} :=
   Submodule.prod_span_singleton s I
 #align ideal.prod_span_singleton Ideal.prod_span_singleton
@@ -621,7 +621,7 @@ theorem multiset_prod_span_singleton (m : Multiset R) :
     simp only [Multiset.map_cons, Multiset.prod_cons, ih, ← Ideal.span_singleton_mul_span_singleton]
 #align ideal.multiset_prod_span_singleton Ideal.multiset_prod_span_singleton
 
-theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
+theorem finset_inf_span_singleton {ι : Type*} (s : Finset ι) (I : ι → R)
     (hI : Set.Pairwise (↑s) (IsCoprime on I)) :
     (s.inf fun i => Ideal.span ({I i} : Set R)) = Ideal.span {∏ i in s, I i} := by
   ext x
@@ -629,14 +629,14 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
-theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
+theorem iInf_span_singleton {ι : Type*} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (_ : i ≠ j), IsCoprime (I i) (I j)) :
     ⨅ i, Ideal.span ({I i} : Set R) = Ideal.span {∏ i, I i} := by
   rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
-theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
+theorem sup_eq_top_iff_isCoprime {R : Type*} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y := by
   rw [eq_top_iff_one, Submodule.mem_sup]
   constructor
@@ -800,7 +800,7 @@ theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n := by
     exact Ideal.mul_mono e hn
 #align ideal.pow_mono Ideal.pow_mono
 
-theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
+theorem mul_eq_bot {R : Type*} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal R} :
     I * J = ⊥ ↔ I = ⊥ ∨ J = ⊥ :=
   ⟨fun hij =>
     or_iff_not_imp_left.mpr fun I_ne_bot =>
@@ -810,11 +810,11 @@ theorem mul_eq_bot {R : Type _} [CommSemiring R] [NoZeroDivisors R] {I J : Ideal
     fun h => by cases' h with h h <;> rw [← Ideal.mul_bot, h, Ideal.mul_comm]⟩
 #align ideal.mul_eq_bot Ideal.mul_eq_bot
 
-instance {R : Type _} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
+instance {R : Type*} [CommSemiring R] [NoZeroDivisors R] : NoZeroDivisors (Ideal R)
     where eq_zero_or_eq_zero_of_mul_eq_zero := mul_eq_bot.1
 
 /-- A product of ideals in an integral domain is zero if and only if one of the terms is zero. -/
-theorem prod_eq_bot {R : Type _} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
+theorem prod_eq_bot {R : Type*} [CommRing R] [IsDomain R] {s : Multiset (Ideal R)} :
     s.prod = ⊥ ↔ ∃ I ∈ s, I = ⊥ := by
   rw [bot_eq_zero, prod_zero_iff_exists_zero]
   simp
@@ -1283,7 +1283,7 @@ variable {R : Type u} {S : Type v}
 
 section Semiring
 
-variable {F : Type _} [Semiring R] [Semiring S]
+variable {F : Type*} [Semiring R] [Semiring S]
 
 variable [rc : RingHomClass F R S]
 
@@ -1346,7 +1346,7 @@ theorem comap_ne_top (hK : K ≠ ⊤) : comap f K ≠ ⊤ :=
   (ne_top_iff_one _).2 <| by rw [mem_comap, map_one]; exact (ne_top_iff_one _).1 hK
 #align ideal.comap_ne_top Ideal.comap_ne_top
 
-variable {G : Type _} [rcg : RingHomClass G S R]
+variable {G : Type*} [rcg : RingHomClass G S R]
 
 theorem map_le_comap_of_inv_on (g : G) (I : Ideal R) (hf : Set.LeftInvOn g f I) :
     I.map f ≤ I.comap g := by
@@ -1396,12 +1396,12 @@ theorem map_id : I.map (RingHom.id R) = I :=
   (gc_map_comap (RingHom.id R)).l_unique GaloisConnection.id comap_id
 #align ideal.map_id Ideal.map_id
 
-theorem comap_comap {T : Type _} [Semiring T] {I : Ideal T} (f : R →+* S) (g : S →+* T) :
+theorem comap_comap {T : Type*} [Semiring T] {I : Ideal T} (f : R →+* S) (g : S →+* T) :
     (I.comap g).comap f = I.comap (g.comp f) :=
   rfl
 #align ideal.comap_comap Ideal.comap_comap
 
-theorem map_map {T : Type _} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S →+* T) :
+theorem map_map {T : Type*} [Semiring T] {I : Ideal R} (f : R →+* S) (g : S →+* T) :
     (I.map f).map g = I.map (g.comp f) :=
   ((gc_map_comap f).compose (gc_map_comap g)).l_unique (gc_map_comap (g.comp f)) fun _ =>
     comap_comap _ _
@@ -1468,7 +1468,7 @@ theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
   rfl
 #align ideal.comap_inf Ideal.comap_inf
 
-variable {ι : Sort _}
+variable {ι : Sort*}
 
 theorem map_iSup (K : ι → Ideal R) : (iSup K).map f = ⨆ i, (K i).map f :=
   (gc_map_comap f : GaloisConnection (map f) (comap f)).l_iSup
@@ -1505,7 +1505,7 @@ theorem le_comap_sup : comap f K ⊔ comap f L ≤ comap f (K ⊔ L) :=
 #align ideal.le_comap_sup Ideal.le_comap_sup
 
 @[simp]
-theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
+theorem smul_top_eq_map {R S : Type*} [CommSemiring R] [CommSemiring S] [Algebra R S]
     (I : Ideal R) : I • (⊤ : Submodule R S) = (I.map (algebraMap R S)).restrictScalars R := by
   refine'
     le_antisymm (Submodule.smul_le.mpr fun r hr y _ => _) fun x hx =>
@@ -1529,7 +1529,7 @@ theorem smul_top_eq_map {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebr
 #align ideal.smul_top_eq_map Ideal.smul_top_eq_map
 
 @[simp]
-theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebra R S]
+theorem coe_restrictScalars {R S : Type*} [CommSemiring R] [Semiring S] [Algebra R S]
     (I : Ideal S) : (I.restrictScalars R : Set S) = ↑I :=
   rfl
 #align ideal.coe_restrict_scalars Ideal.coe_restrictScalars
@@ -1537,7 +1537,7 @@ theorem coe_restrictScalars {R S : Type _} [CommSemiring R] [Semiring S] [Algebr
 /-- The smallest `S`-submodule that contains all `x ∈ I * y ∈ J`
 is also the smallest `R`-submodule that does so. -/
 @[simp]
-theorem restrictScalars_mul {R S : Type _} [CommSemiring R] [CommSemiring S] [Algebra R S]
+theorem restrictScalars_mul {R S : Type*} [CommSemiring R] [CommSemiring S] [Algebra R S]
     (I J : Ideal S) : (I * J).restrictScalars R = I.restrictScalars R * J.restrictScalars R :=
   le_antisymm
     (fun _ hx =>
@@ -1634,7 +1634,7 @@ end Semiring
 
 section Ring
 
-variable {F : Type _} [Ring R] [Ring S]
+variable {F : Type*} [Ring R] [Ring S]
 
 variable [RingHomClass F R S] (f : F) {I : Ideal R}
 
@@ -1766,7 +1766,7 @@ end Ring
 
 section CommRing
 
-variable {F : Type _} [CommRing R] [CommRing S]
+variable {F : Type*} [CommRing R] [CommRing S]
 
 variable [rc : RingHomClass F R S]
 
@@ -1880,9 +1880,9 @@ end IsPrimary
 
 section Total
 
-variable (ι : Type _)
+variable (ι : Type*)
 
-variable (M : Type _) [AddCommGroup M] {R : Type _} [CommRing R] [Module R M] (I : Ideal R)
+variable (M : Type*) [AddCommGroup M] {R : Type*} [CommRing R] [Module R M] (I : Ideal R)
 
 variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
@@ -1927,7 +1927,7 @@ end Total
 
 section Basis
 
-variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
+variable {ι R S : Type*} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
 /-- A basis on `S` gives a basis on `Ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
@@ -1950,7 +1950,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
-theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
+theorem constr_basisSpanSingleton {N : Type*} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     (b.constr N).toFun (((↑) : _ → S) ∘ (basisSpanSingleton b hx)) = Algebra.lmul R S x :=
   b.ext fun i => by
@@ -1961,7 +1961,7 @@ end Basis
 
 end Ideal
 
-theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
+theorem Associates.mk_ne_zero' {R : Type*} [CommSemiring R] {r : R} :
     Associates.mk (Ideal.span {r} : Ideal R) ≠ 0 ↔ r ≠ 0 := by
   rw [Associates.mk_ne_zero, Ideal.zero_eq_bot, Ne.def, Ideal.span_singleton_eq_bot]
 #align associates.mk_ne_zero' Associates.mk_ne_zero'
@@ -1969,14 +1969,14 @@ theorem Associates.mk_ne_zero' {R : Type _} [CommSemiring R] {r : R} :
 -- Porting note: added explicit coercion `(b i : S)`
 /-- If `I : Ideal S` has a basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
-theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
+theorem Basis.mem_ideal_iff {ι R S : Type*} [CommRing R] [CommRing S] [Algebra R S] {I : Ideal S}
     (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι →₀ R, x = Finsupp.sum c fun i x => x • (b i : S) :=
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff
 #align basis.mem_ideal_iff Basis.mem_ideal_iff
 
 /-- If `I : Ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
-theorem Basis.mem_ideal_iff' {ι R S : Type _} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
+theorem Basis.mem_ideal_iff' {ι R S : Type*} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
     {I : Ideal S} (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι → R, x = ∑ i, c i • (b i : S) :=
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff'
 #align basis.mem_ideal_iff' Basis.mem_ideal_iff'
@@ -1987,7 +1987,7 @@ variable {R : Type u} {S : Type v} {T : Type w}
 
 section Semiring
 
-variable {F : Type _} {G : Type _} [Semiring R] [Semiring S] [Semiring T]
+variable {F : Type*} {G : Type*} [Semiring R] [Semiring S] [Semiring T]
 
 variable [rcf : RingHomClass F R S] [rcg : RingHomClass G T S] (f : F) (g : G)
 
@@ -2026,7 +2026,7 @@ end Semiring
 
 section Ring
 
-variable {F : Type _} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
+variable {F : Type*} [Ring R] [Semiring S] [rc : RingHomClass F R S] (f : F)
 
 theorem injective_iff_ker_eq_bot : Function.Injective f ↔ ker f = ⊥ := by
   rw [SetLike.ext'_iff, ker_eq, Set.ext_iff]
@@ -2043,7 +2043,7 @@ theorem ker_coe_equiv (f : R ≃+* S) : ker (f : R →+* S) = ⊥ := by
 #align ring_hom.ker_coe_equiv RingHom.ker_coe_equiv
 
 @[simp]
-theorem ker_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
+theorem ker_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') : ker f = ⊥ := by
   simpa only [← injective_iff_ker_eq_bot] using EquivLike.injective f
 #align ring_hom.ker_equiv RingHom.ker_equiv
 
@@ -2051,7 +2051,7 @@ end Ring
 
 section RingRing
 
-variable {F : Type _} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
+variable {F : Type*} [Ring R] [Ring S] [rc : RingHomClass F R S] (f : F)
 
 theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker, map_sub, sub_eq_zero]
 #align ring_hom.sub_mem_ker_iff RingHom.sub_mem_ker_iff
@@ -2059,7 +2059,7 @@ theorem sub_mem_ker_iff {x y} : x - y ∈ ker f ↔ f x = f y := by rw [mem_ker,
 end RingRing
 
 /-- The kernel of a homomorphism to a domain is a prime ideal. -/
-theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
+theorem ker_isPrime {F : Type*} [Ring R] [Ring S] [IsDomain S] [RingHomClass F R S] (f : F) :
     (ker f).IsPrime :=
   ⟨by
     rw [Ne.def, Ideal.eq_top_iff_one]
@@ -2069,7 +2069,7 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
 /-- The kernel of a homomorphism to a field is a maximal ideal. -/
-theorem ker_isMaximal_of_surjective {R K F : Type _} [Ring R] [Field K] [RingHomClass F R K] (f : F)
+theorem ker_isMaximal_of_surjective {R K F : Type*} [Ring R] [Field K] [RingHomClass F R K] (f : F)
     (hf : Function.Surjective f) : (ker f).IsMaximal := by
   refine'
     Ideal.isMaximal_iff.mpr
@@ -2086,7 +2086,7 @@ end RingHom
 
 namespace Ideal
 
-variable {R : Type _} {S : Type _} {F : Type _}
+variable {R : Type*} {S : Type*} {F : Type*}
 
 section Semiring
 
@@ -2149,7 +2149,7 @@ theorem map_eq_bot_iff_of_injective {I : Ideal R} {f : F} (hf : Function.Injecti
   rw [map_eq_bot_iff_le_ker, (RingHom.injective_iff_ker_eq_bot f).mp hf, le_bot_iff]
 #align ideal.map_eq_bot_iff_of_injective Ideal.map_eq_bot_iff_of_injective
 
-theorem map_isPrime_of_equiv {F' : Type _} [RingEquivClass F' R S] (f : F') {I : Ideal R}
+theorem map_isPrime_of_equiv {F' : Type*} [RingEquivClass F' R S] (f : F') {I : Ideal R}
     [IsPrime I] : IsPrime (map f I) :=
   map_isPrime_of_surjective (EquivLike.surjective f) <| by simp only [RingHom.ker_equiv, bot_le]
 #align ideal.map_is_prime_of_equiv Ideal.map_isPrime_of_equiv
@@ -2205,7 +2205,7 @@ end Submodule
 
 namespace RingHom
 
-variable {A B C : Type _} [Ring A] [Ring B] [Ring C]
+variable {A B C : Type*} [Ring A] [Ring B] [Ring C]
 
 variable (f : A →+* B) (f_inv : B → A)
 
chore: fix grammar mistakes (#6121)
Diff
@@ -2238,7 +2238,7 @@ theorem liftOfRightInverseAux_comp_apply (hf : Function.RightInverse f_inv f) (g
 /-- `liftOfRightInverse f hf g hg` is the unique ring homomorphism `φ`
 
 * such that `φ.comp f = g` (`RingHom.liftOfRightInverse_comp`),
-* where `f : A →+* B` is has a right_inverse `f_inv` (`hf`),
+* where `f : A →+* B` has a right_inverse `f_inv` (`hf`),
 * and `g : B →+* C` satisfies `hg : f.ker ≤ g.ker`.
 
 See `RingHom.eq_liftOfRightInverse` for the uniqueness lemma.
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
-
-! This file was ported from Lean 3 source module ring_theory.ideal.operations
-! leanprover-community/mathlib commit e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Algebra.Operations
 import Mathlib.Algebra.Ring.Equiv
@@ -16,6 +11,8 @@ import Mathlib.RingTheory.Coprime.Lemmas
 import Mathlib.RingTheory.Ideal.Basic
 import Mathlib.RingTheory.NonZeroDivisors
 
+#align_import ring_theory.ideal.operations from "leanprover-community/mathlib"@"e7f0ddbf65bd7181a85edb74b64bdc35ba4bdc74"
+
 /-!
 # More operations on modules and ideals
 -/
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -829,7 +829,7 @@ theorem span_pair_mul_span_pair (w x y z : R) :
 #align ideal.span_pair_mul_span_pair Ideal.span_pair_mul_span_pair
 
 /-- The radical of an ideal `I` consists of the elements `r` such that `r ^ n ∈ I` for some `n`. -/
-def radical  (I : Ideal R) : Ideal R where
+def radical (I : Ideal R) : Ideal R where
   carrier := { r | ∃ n : ℕ, r ^ n ∈ I }
   zero_mem' := ⟨1, (pow_one (0 : R)).symm ▸ I.zero_mem⟩
   add_mem' :=
fix: precedences of ⨆⋃⋂⨅ (#5614)
Diff
@@ -634,7 +634,7 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
 
 theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (_ : i ≠ j), IsCoprime (I i) (I j)) :
-    (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} := by
+    ⨅ i, Ideal.span ({I i} : Set R) = Ideal.span {∏ i, I i} := by
   rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
 #align ideal.infi_span_singleton Ideal.iInf_span_singleton
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -343,7 +343,7 @@ theorem mem_smul_top_iff (N : Submodule R M) (x : N) :
 theorem smul_comap_le_comap_smul (f : M →ₗ[R] M') (S : Submodule R M') (I : Ideal R) :
     I • S.comap f ≤ (I • S).comap f := by
   refine' Submodule.smul_le.mpr fun r hr x hx => _
-  rw [Submodule.mem_comap] at hx⊢
+  rw [Submodule.mem_comap] at hx ⊢
   rw [f.map_smul]
   exact Submodule.smul_mem_smul hr hx
 #align submodule.smul_comap_le_comap_smul Submodule.smul_comap_le_comap_smul
@@ -679,7 +679,7 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
 
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
   le_antisymm (sup_le_sup_left mul_le_left _) fun i hi => by
-    rw [eq_top_iff_one] at h; rw [Submodule.mem_sup] at h hi⊢
+    rw [eq_top_iff_one] at h; rw [Submodule.mem_sup] at h hi ⊢
     obtain ⟨i1, hi1, j, hj, h⟩ := h; obtain ⟨i', hi', k, hk, hi⟩ := hi
     refine' ⟨_, add_mem hi' (mul_mem_right k _ hi1), _, mul_mem_mul hj hk, _⟩
     rw [add_assoc, ← add_mul, h, one_mul, hi]
@@ -1126,7 +1126,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         exact ⟨hp.1, hp.2.2⟩
       have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
       have hn' : (insert i u).card = n := by
-        rwa [Finset.card_insert_of_not_mem] at hn⊢
+        rwa [Finset.card_insert_of_not_mem] at hn ⊢
         exacts [hiu, hju]
       have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k := by
         rw [Finset.coe_insert] at h ⊢
feat: change ConcreteCategory.hasCoeToFun to FunLike (#4693)
Diff
@@ -1710,14 +1710,16 @@ end Surjective
 @[simp]
 theorem map_of_equiv (I : Ideal R) (f : R ≃+* S) :
     (I.map (f : R →+* S)).map (f.symm : S →+* R) = I := by
-  simp [← RingEquiv.toRingHom_eq_coe, map_map]
+  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, map_map,
+    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, map_id]
 #align ideal.map_of_equiv Ideal.map_of_equiv
 
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `comap f.symm (comap f) = I`. -/
 @[simp]
 theorem comap_of_equiv (I : Ideal R) (f : R ≃+* S) :
     (I.comap (f.symm : S →+* R)).comap (f : R →+* S) = I := by
-  simp [← RingEquiv.toRingHom_eq_coe, comap_comap]
+  rw [← RingEquiv.toRingHom_eq_coe, ← RingEquiv.toRingHom_eq_coe, comap_comap,
+    RingEquiv.toRingHom_eq_coe, RingEquiv.toRingHom_eq_coe, RingEquiv.symm_comp, comap_id]
 #align ideal.comap_of_equiv Ideal.comap_of_equiv
 
 /-- If `f : R ≃+* S` is a ring isomorphism and `I : Ideal R`, then `map f I = comap f.symm I`. -/
chore: formatting issues (#4947)

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

Diff
@@ -1113,7 +1113,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
-    replace hn : ∃ (i : ι)(t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
+    replace hn : ∃ (i : ι) (t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
       Finset.card_eq_succ.1 hn
     rcases hn with ⟨i, t, hit, rfl, hn⟩
     replace hp : IsPrime (f i) ∧ ∀ x ∈ t, IsPrime (f x) := (t.forall_mem_insert _ _).1 hp
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -1072,7 +1072,7 @@ theorem IsPrime.inf_le' {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp :
     le_trans (Finset.inf_le his) hip⟩
 #align ideal.is_prime.inf_le' Ideal.IsPrime.inf_le'
 
--- Porting note: needed to add explicit coerecions (· : Set R).
+-- Porting note: needed to add explicit coercions (· : Set R).
 theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
     (I : Set R) ⊆ J ∪ K ↔ I ≤ J ∨ I ≤ K :=
   ⟨fun h =>
chore: add space after exacts (#4945)

Too often tempted to change these during other PRs, so doing a mass edit here.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -1127,7 +1127,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
       have hn' : (insert i u).card = n := by
         rwa [Finset.card_insert_of_not_mem] at hn⊢
-        exacts[hiu, hju]
+        exacts [hiu, hju]
       have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k := by
         rw [Finset.coe_insert] at h ⊢
         rw [Finset.coe_insert] at h
style: allow _ for an argument in notation3 & replace _foo with _ in notation3 (#4652)
Diff
@@ -242,7 +242,7 @@ theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t 
 
 theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
     (Ideal.span {r} : Ideal R) • N = r • N := by
-  have : span R (⋃ (t : M) (_x : t ∈ N), {r • t}) = r • N := by
+  have : span R (⋃ (t : M) (_ : t ∈ N), {r • t}) = r • N := by
     convert span_eq (r • N)
     exact (Set.image_eq_iUnion _ (N : Set M)).symm
   conv_lhs => rw [← span_eq N, span_smul_span]
chore: tidy various files (#4466)
Diff
@@ -1087,8 +1087,6 @@ theorem subset_union {R : Type u} [Ring R] {I J K : Ideal R} :
       Set.Subset.trans h <| Set.subset_union_right (J : Set R) K ⟩
 #align ideal.subset_union Ideal.subset_union
 
-
--- Porting note: Replaced `specialize` calls with `have ih := ih ...`
 theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι → Ideal R} {a b : ι}
     (hp : ∀ i ∈ s, IsPrime (f i)) {I : Ideal R} :
     ((I : Set R) ⊆ f a ∪ f b ∪ ⋃ i ∈ (↑s : Set ι), f i) ↔ I ≤ f a ∨ I ≤ f b ∨ ∃ i ∈ s, I ≤ f i := by
@@ -1137,7 +1135,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         rw [← Set.union_assoc (f i : Set R)] at h
         erw [Set.union_eq_self_of_subset_right hfji] at h
         exact h
-      have ih := ih hp' hn' h'
+      specialize ih hp' hn' h'
       refine' ih.imp id (Or.imp id (Exists.imp fun k => _))
       simp only [exists_prop]
       exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
@@ -1147,7 +1145,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
           Set.union_right_comm (f a : Set R)] at h
         erw [Set.union_eq_self_of_subset_left Ha] at h
         exact h
-      have ih := ih hp.2 hn h'
+      specialize ih hp.2 hn h'
       right
       rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
       · exact Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩
@@ -1159,7 +1157,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
           Set.union_assoc (f a : Set R)] at h
         erw [Set.union_eq_self_of_subset_left Hb] at h
         exact h
-      have ih := ih hp.2 hn h'
+      specialize ih hp.2 hn h'
       rcases ih with (ih | ih | ⟨k, hkt, ih⟩)
       · exact Or.inl ih
       · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, ih⟩)
feat: port LinearAlgebra.FreeModule.IdealQuotient (#4356)

This changes Basis.mem_submodule_iff' and Basis.mem_ideal_iff' because Lean 4 inserts the coercion in a different place than Lean 3 does. Otherwise, just a few implicits that needed to be explicit and one syntax weirdness.

Diff
@@ -1980,7 +1980,7 @@ theorem Basis.mem_ideal_iff {ι R S : Type _} [CommRing R] [CommRing S] [Algebra
 /-- If `I : Ideal S` has a finite basis over `R`,
 `x ∈ I` iff it is a linear combination of basis vectors. -/
 theorem Basis.mem_ideal_iff' {ι R S : Type _} [Fintype ι] [CommRing R] [CommRing S] [Algebra R S]
-    {I : Ideal S} (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι → R, x = ∑ i, c i • b i :=
+    {I : Ideal S} (b : Basis ι R I) {x : S} : x ∈ I ↔ ∃ c : ι → R, x = ∑ i, c i • (b i : S) :=
   (b.map ((I.restrictScalarsEquiv R _ _).restrictScalars R).symm).mem_submodule_iff'
 #align basis.mem_ideal_iff' Basis.mem_ideal_iff'
 
chore: whitespace changes remaining after merging lean#2074 workarounds (#4032)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Mauricio Collares <mauricio@collares.org>

Diff
@@ -20,7 +20,6 @@ import Mathlib.RingTheory.NonZeroDivisors
 # More operations on modules and ideals
 -/
 
-
 universe u v w x
 
 open BigOperators Pointwise
chore: delete 2074 references (#4030)
Diff
@@ -21,9 +21,6 @@ import Mathlib.RingTheory.NonZeroDivisors
 -/
 
 
--- Porting note: TODO Erase this line, lean#2074
-attribute [-instance] Ring.toNonAssocRing
-
 universe u v w x
 
 open BigOperators Pointwise
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -402,7 +402,6 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     _ ↔ r • x ∈ N := by simp_rw [fun (a : R) ↦ smul_comm r a x]; exact SetLike.forall_smul_mem_iff
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 
-set_option synthInstance.etaExperiment true in
 @[simp]
 theorem _root_.Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
     r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
@@ -1652,7 +1651,6 @@ section Surjective
 
 variable (hf : Function.Surjective f)
 
-set_option synthInstance.etaExperiment true in
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
     (fun r h =>
@@ -1897,7 +1895,6 @@ variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
 open BigOperators
 
-set_option synthInstance.etaExperiment true in
 /-- A variant of `Finsupp.total` that takes in vectors valued in `I`. -/
 noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
   (Finsupp.total ι M R v).comp (Finsupp.mapRange.linearMap I.subtype)
@@ -1905,7 +1902,6 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 
 variable {ι M v}
 
-set_option synthInstance.etaExperiment true in
 theorem finsuppTotal_apply (f : ι →₀ I) :
     finsuppTotal ι M I v f = f.sum fun i x => (x : R) • v i := by
   dsimp [finsuppTotal]
@@ -1940,7 +1936,6 @@ section Basis
 
 variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
-set_option synthInstance.etaExperiment true in
 /-- A basis on `S` gives a basis on `Ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
@@ -1953,7 +1948,6 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
-set_option synthInstance.etaExperiment true in
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
     (basisSpanSingleton b hx i : S) = x * b i := by
@@ -1962,7 +1956,6 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
-set_option synthInstance.etaExperiment true in
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -100,14 +100,14 @@ theorem annihilator_mono (h : N ≤ P) : P.annihilator ≤ N.annihilator := fun
   mem_annihilator.2 fun n hn => mem_annihilator.1 hrp n <| h hn
 #align submodule.annihilator_mono Submodule.annihilator_mono
 
-theorem annihilator_supᵢ (ι : Sort w) (f : ι → Submodule R M) :
+theorem annihilator_iSup (ι : Sort w) (f : ι → Submodule R M) :
     annihilator (⨆ i, f i) = ⨅ i, annihilator (f i) :=
-  le_antisymm (le_infᵢ fun _ => annihilator_mono <| le_supᵢ _ _) fun _ H =>
+  le_antisymm (le_iInf fun _ => annihilator_mono <| le_iSup _ _) fun _ H =>
     mem_annihilator'.2 <|
-      supᵢ_le fun i =>
-        have := (mem_infᵢ _).1 H i
+      iSup_le fun i =>
+        have := (mem_iInf _).1 H i
         mem_annihilator'.1 this
-#align submodule.annihilator_supr Submodule.annihilator_supᵢ
+#align submodule.annihilator_supr Submodule.annihilator_iSup
 
 theorem smul_mem_smul {r} {n} (hr : r ∈ I) (hn : n ∈ N) : r • n ∈ I • N :=
   apply_mem_map₂ _ hr hn
@@ -121,7 +121,7 @@ theorem smul_le {P : Submodule R M} : I • N ≤ P ↔ ∀ r ∈ I, ∀ n ∈ N
 theorem smul_induction_on {p : M → Prop} {x} (H : x ∈ I • N) (Hb : ∀ r ∈ I, ∀ n ∈ N, p (r • n))
     (H1 : ∀ x y, p x → p y → p (x + y)) : p x := by
   have H0 : p 0 := by simpa only [zero_smul] using Hb 0 I.zero_mem 0 N.zero_mem
-  refine Submodule.supᵢ_induction (x := x) _ H ?_ H0 H1
+  refine Submodule.iSup_induction (x := x) _ H ?_ H0 H1
   rintro ⟨i, hi⟩ m ⟨j, hj, hj'⟩
   rw [← hj']
   exact Hb _ hi _ hj
@@ -229,26 +229,26 @@ theorem smul_inf_le (M₁ M₂ : Submodule R M) : I • (M₁ ⊓ M₂) ≤ I 
   le_inf (Submodule.smul_mono_right inf_le_left) (Submodule.smul_mono_right inf_le_right)
 #align submodule.smul_inf_le Submodule.smul_inf_le
 
-theorem smul_supᵢ {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • supᵢ t = ⨆ i, I • t i :=
-  map₂_supᵢ_right _ _ _
-#align submodule.smul_supr Submodule.smul_supᵢ
+theorem smul_iSup {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} : I • iSup t = ⨆ i, I • t i :=
+  map₂_iSup_right _ _ _
+#align submodule.smul_supr Submodule.smul_iSup
 
-theorem smul_infᵢ_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
-    I • infᵢ t ≤ ⨅ i, I • t i :=
-  le_infᵢ fun _ => smul_mono_right (infᵢ_le _ _)
-#align submodule.smul_infi_le Submodule.smul_infᵢ_le
+theorem smul_iInf_le {ι : Sort _} {I : Ideal R} {t : ι → Submodule R M} :
+    I • iInf t ≤ ⨅ i, I • t i :=
+  le_iInf fun _ => smul_mono_right (iInf_le _ _)
+#align submodule.smul_infi_le Submodule.smul_iInf_le
 
 variable (S : Set R) (T : Set M)
 
 theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t ∈ T), {s • t}) :=
-  (map₂_span_span _ _ _ _).trans <| congr_arg _ <| Set.image2_eq_unionᵢ _ _ _
+  (map₂_span_span _ _ _ _).trans <| congr_arg _ <| Set.image2_eq_iUnion _ _ _
 #align submodule.span_smul_span Submodule.span_smul_span
 
 theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
     (Ideal.span {r} : Ideal R) • N = r • N := by
   have : span R (⋃ (t : M) (_x : t ∈ N), {r • t}) = r • N := by
     convert span_eq (r • N)
-    exact (Set.image_eq_unionᵢ _ (N : Set M)).symm
+    exact (Set.image_eq_iUnion _ (N : Set M)).symm
   conv_lhs => rw [← span_eq N, span_smul_span]
   simpa
 #align submodule.ideal_span_singleton_smul Submodule.ideal_span_singleton_smul
@@ -310,7 +310,7 @@ theorem mem_ideal_smul_span_iff_exists_sum {ι : Type _} (f : ι → M) (x : M)
   · rintro ⟨a, ha, rfl⟩
     exact Submodule.sum_mem _ fun c _ => smul_mem_smul (ha c) <| subset_span <| Set.mem_range_self _
   refine' fun hx => span_induction (mem_smul_span.mp hx) _ _ _ _
-  · simp only [Set.mem_unionᵢ, Set.mem_range, Set.mem_singleton_iff]
+  · simp only [Set.mem_iUnion, Set.mem_range, Set.mem_singleton_iff]
     rintro x ⟨y, hy, x, ⟨i, rfl⟩, rfl⟩
     refine' ⟨Finsupp.single i y, fun j => _, _⟩
     · letI := Classical.decEq ι
@@ -379,19 +379,19 @@ theorem colon_mono (hn : N₁ ≤ N₂) (hp : P₁ ≤ P₂) : N₁.colon P₂ 
   mem_colon.2 fun p₁ hp₁ => hn <| mem_colon.1 hrnp p₁ <| hp hp₁
 #align submodule.colon_mono Submodule.colon_mono
 
-theorem infᵢ_colon_supᵢ (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
+theorem iInf_colon_iSup (ι₁ : Sort w) (f : ι₁ → Submodule R M) (ι₂ : Sort x)
     (g : ι₂ → Submodule R M) : (⨅ i, f i).colon (⨆ j, g j) = ⨅ (i) (j), (f i).colon (g j) :=
-  le_antisymm (le_infᵢ fun _ => le_infᵢ fun _ => colon_mono (infᵢ_le _ _) (le_supᵢ _ _)) fun _ H =>
+  le_antisymm (le_iInf fun _ => le_iInf fun _ => colon_mono (iInf_le _ _) (le_iSup _ _)) fun _ H =>
     mem_colon'.2 <|
-      supᵢ_le fun j =>
+      iSup_le fun j =>
         map_le_iff_le_comap.1 <|
-          le_infᵢ fun i =>
+          le_iInf fun i =>
             map_le_iff_le_comap.2 <|
               mem_colon'.1 <|
-                have := (mem_infᵢ _).1 H i
-                have := (mem_infᵢ _).1 this j
+                have := (mem_iInf _).1 H i
+                have := (mem_iInf _).1 this j
                 this
-#align submodule.infi_colon_supr Submodule.infᵢ_colon_supᵢ
+#align submodule.infi_colon_supr Submodule.iInf_colon_iSup
 
 @[simp]
 theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
@@ -637,12 +637,12 @@ theorem finset_inf_span_singleton {ι : Type _} (s : Finset ι) (I : ι → R)
   exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
 #align ideal.finset_inf_span_singleton Ideal.finset_inf_span_singleton
 
-theorem infᵢ_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
+theorem iInf_span_singleton {ι : Type _} [Fintype ι] (I : ι → R)
     (hI : ∀ (i j) (_ : i ≠ j), IsCoprime (I i) (I j)) :
     (⨅ i, Ideal.span ({I i} : Set R)) = Ideal.span {∏ i, I i} := by
-  rw [← Finset.inf_univ_eq_infᵢ, finset_inf_span_singleton]
+  rw [← Finset.inf_univ_eq_iInf, finset_inf_span_singleton]
   rwa [Finset.coe_univ, Set.pairwise_univ]
-#align ideal.infi_span_singleton Ideal.infᵢ_span_singleton
+#align ideal.infi_span_singleton Ideal.iInf_span_singleton
 
 theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     span ({x} : Set R) ⊔ span {y} = ⊤ ↔ IsCoprime x y := by
@@ -712,22 +712,22 @@ theorem sup_prod_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s
     (by simp_rw [one_eq_top, sup_top_eq]) h
 #align ideal.sup_prod_eq_top Ideal.sup_prod_eq_top
 
-theorem sup_infᵢ_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
+theorem sup_iInf_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → I ⊔ J i = ⊤) :
     (I ⊔ ⨅ i ∈ s, J i) = ⊤ :=
   eq_top_iff.mpr <|
     le_of_eq_of_le (sup_prod_eq_top h).symm <|
-      sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_infᵢ _ _) _
-#align ideal.sup_infi_eq_top Ideal.sup_infᵢ_eq_top
+      sup_le_sup_left (le_of_le_of_eq prod_le_inf <| Finset.inf_eq_iInf _ _) _
+#align ideal.sup_infi_eq_top Ideal.sup_iInf_eq_top
 
 theorem prod_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (∏ i in s, J i) ⊔ I = ⊤ :=
   sup_comm.trans (sup_prod_eq_top fun i hi => sup_comm.trans <| h i hi)
 #align ideal.prod_sup_eq_top Ideal.prod_sup_eq_top
 
-theorem infᵢ_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
+theorem iInf_sup_eq_top {s : Finset ι} {J : ι → Ideal R} (h : ∀ i, i ∈ s → J i ⊔ I = ⊤) :
     (⨅ i ∈ s, J i) ⊔ I = ⊤ :=
-  sup_comm.trans (sup_infᵢ_eq_top fun i hi => sup_comm.trans <| h i hi)
-#align ideal.infi_sup_eq_top Ideal.infᵢ_sup_eq_top
+  sup_comm.trans (sup_iInf_eq_top fun i hi => sup_comm.trans <| h i hi)
+#align ideal.infi_sup_eq_top Ideal.iInf_sup_eq_top
 
 theorem sup_pow_eq_top {n : ℕ} (h : I ⊔ J = ⊤) : I ⊔ J ^ n = ⊤ := by
   rw [← Finset.card_range n, ← Finset.prod_const]
@@ -949,16 +949,16 @@ theorem IsPrime.radical_le_iff (hJ : IsPrime J) : I.radical ≤ J ↔ I ≤ J :=
   IsRadical.radical_le_iff hJ.isRadical
 #align ideal.is_prime.radical_le_iff Ideal.IsPrime.radical_le_iff
 
-theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } :=
-  le_antisymm (le_infₛ fun J hJ ↦ hJ.2.radical_le_iff.2 hJ.1) fun r hr ↦
+theorem radical_eq_sInf (I : Ideal R) : radical I = sInf { J : Ideal R | I ≤ J ∧ IsPrime J } :=
+  le_antisymm (le_sInf fun J hJ ↦ hJ.2.radical_le_iff.2 hJ.1) fun r hr ↦
     by_contradiction fun hri ↦
       let ⟨m, (hrm : r ∉ radical m), him, hm⟩ :=
         zorn_nonempty_partialOrder₀ { K : Ideal R | r ∉ radical K }
           (fun c hc hcc y hyc =>
-            ⟨supₛ c, fun ⟨n, hrnc⟩ =>
-              let ⟨y, hyc, hrny⟩ := (Submodule.mem_supₛ_of_directed ⟨y, hyc⟩ hcc.directedOn).1 hrnc
+            ⟨sSup c, fun ⟨n, hrnc⟩ =>
+              let ⟨y, hyc, hrny⟩ := (Submodule.mem_sSup_of_directed ⟨y, hyc⟩ hcc.directedOn).1 hrnc
               hc hyc ⟨n, hrny⟩,
-              fun z => le_supₛ⟩)
+              fun z => le_sSup⟩)
           I hri
       have : ∀ (x) (_ : x ∉ m), r ∈ radical (m ⊔ span {x}) := fun x hxm =>
         by_contradiction fun hrmx =>
@@ -983,8 +983,8 @@ theorem radical_eq_infₛ (I : Ideal R) : radical I = infₛ { J : Ideal R | I 
                       m.add_mem (m.mul_mem_right _ hpm)
                         (m.add_mem (m.mul_mem_left _ hfm) (m.mul_mem_left _ hxym))⟩⟩
     hrm <|
-      this.radical.symm ▸ (infₛ_le ⟨him, this⟩ : infₛ { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
-#align ideal.radical_eq_Inf Ideal.radical_eq_infₛ
+      this.radical.symm ▸ (sInf_le ⟨him, this⟩ : sInf { J : Ideal R | I ≤ J ∧ IsPrime J } ≤ m) hr
+#align ideal.radical_eq_Inf Ideal.radical_eq_sInf
 
 theorem isRadical_bot_of_noZeroDivisors {R} [CommSemiring R] [NoZeroDivisors R] :
     (⊥ : Ideal R).IsRadical := fun _ hx => hx.recOn fun _ hn => pow_eq_zero hn
@@ -1111,13 +1111,13 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
               Set.Subset.trans (Set.subset_union_right _ _) (Set.subset_union_left _ _))
           fun ⟨i, his, hi⟩ => by
           refine' Set.Subset.trans hi <| Set.Subset.trans _ <| Set.subset_union_right _ _;
-            exact Set.subset_bunionᵢ_of_mem (u := fun x ↦ (f x : Set R)) (Finset.mem_coe.2 his)⟩
+            exact Set.subset_biUnion_of_mem (u := fun x ↦ (f x : Set R)) (Finset.mem_coe.2 his)⟩
   generalize hn : s.card = n; intro h
   induction' n with n ih generalizing a b s
   · clear hp
     rw [Finset.card_eq_zero] at hn
     subst hn
-    rw [Finset.coe_empty, Set.bunionᵢ_empty, Set.union_empty, subset_union] at h
+    rw [Finset.coe_empty, Set.biUnion_empty, Set.union_empty, subset_union] at h
     simpa only [exists_prop, Finset.not_mem_empty, false_and_iff, exists_false, or_false_iff]
   classical
     replace hn : ∃ (i : ι)(t : Finset ι), i ∉ t ∧ insert i t = s ∧ t.card = n :=
@@ -1138,7 +1138,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k := by
         rw [Finset.coe_insert] at h ⊢
         rw [Finset.coe_insert] at h
-        simp only [Set.bunionᵢ_insert] at h ⊢
+        simp only [Set.biUnion_insert] at h ⊢
         rw [← Set.union_assoc (f i : Set R)] at h
         erw [Set.union_eq_self_of_subset_right hfji] at h
         exact h
@@ -1148,7 +1148,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
     by_cases Ha : f a ≤ f i
     · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j := by
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_assoc,
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc,
           Set.union_right_comm (f a : Set R)] at h
         erw [Set.union_eq_self_of_subset_left Ha] at h
         exact h
@@ -1160,7 +1160,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       · exact Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
     by_cases Hb : f b ≤ f i
     · have h' : (I : Set R) ⊆ f a ∪ f i ∪ ⋃ j ∈ (↑t : Set ι), f j := by
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_assoc,
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_assoc,
           Set.union_assoc (f a : Set R)] at h
         erw [Set.union_eq_self_of_subset_left Hb] at h
         exact h
@@ -1191,16 +1191,16 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
         exact ⟨k, Finset.mem_insert_of_mem hkt, ih⟩
     exfalso
     rcases Set.not_subset.1 HI with ⟨s, hsI, hs⟩
-    rw [Finset.coe_insert, Set.bunionᵢ_insert] at h
+    rw [Finset.coe_insert, Set.biUnion_insert] at h
     have hsi : s ∈ f i := ((h hsI).resolve_left (mt Or.inl hs)).resolve_right (mt Or.inr hs)
     rcases h (I.add_mem hrI hsI) with (⟨ha | hb⟩ | hi | ht)
     · exact hs (Or.inl <| Or.inl <| add_sub_cancel' r s ▸ (f a).sub_mem ha hra)
     · exact hs (Or.inl <| Or.inr <| add_sub_cancel' r s ▸ (f b).sub_mem hb hrb)
     · exact hri (add_sub_cancel r s ▸ (f i).sub_mem hi hsi)
-    · rw [Set.mem_unionᵢ₂] at ht
+    · rw [Set.mem_iUnion₂] at ht
       rcases ht with ⟨j, hjt, hj⟩
-      simp only [Finset.inf_eq_infᵢ, SetLike.mem_coe, Submodule.mem_infᵢ] at hr
-      exact hs (Or.inr <| Set.mem_bunionᵢ hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
+      simp only [Finset.inf_eq_iInf, SetLike.mem_coe, Submodule.mem_iInf] at hr
+      exact hs (Or.inr <| Set.mem_biUnion hjt <| add_sub_cancel' r s ▸ (f j).sub_mem hj <| hr j hjt)
 #align ideal.subset_union_prime' Ideal.subset_union_prime'
 
 /-- Prime avoidance. Atiyah-Macdonald 1.11, Eisenbud 3.3, Stacks 00DS, Matsumura Ex.1.6. -/
@@ -1211,7 +1211,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
     have aux := fun h => (bex_def.2 <| this h)
     simp_rw [exists_prop] at aux
     refine ⟨aux, fun ⟨i, his, hi⟩ ↦ Set.Subset.trans hi ?_⟩
-    apply Set.subset_bunionᵢ_of_mem (show i ∈ (↑s : Set ι) from his)
+    apply Set.subset_biUnion_of_mem (show i ∈ (↑s : Set ι) from his)
   fun h : (I : Set R) ⊆ ⋃ i ∈ (↑s : Set ι), f i => by
   classical
     by_cases has : a ∈ s
@@ -1225,14 +1225,14 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           refine' hp i (Finset.mem_insert_of_mem (Finset.mem_insert_of_mem hiu)) _ _ <;>
               rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Finset.coe_insert, Set.bunionᵢ_insert, Set.bunionᵢ_insert, ←
+        rw [Finset.coe_insert, Finset.coe_insert, Set.biUnion_insert, Set.biUnion_insert, ←
           Set.union_assoc, subset_union_prime' hp'] at h
         rwa [Finset.exists_mem_insert, Finset.exists_mem_insert]
       · have hp' : ∀ j ∈ t, IsPrime (f j) := by
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f a : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f a : Set R),
           subset_union_prime' hp', ← or_assoc, or_self_iff] at h
         rwa [Finset.exists_mem_insert]
     · by_cases hbs : b ∈ s
@@ -1242,12 +1242,12 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f b : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f b : Set R),
           subset_union_prime' hp', ← or_assoc, or_self_iff] at h
         rwa [Finset.exists_mem_insert]
       cases' s.eq_empty_or_nonempty with hse hsne
       · subst hse
-        rw [Finset.coe_empty, Set.bunionᵢ_empty, Set.subset_empty_iff] at h
+        rw [Finset.coe_empty, Set.biUnion_empty, Set.subset_empty_iff] at h
         have : (I : Set R) ≠ ∅ := Set.Nonempty.ne_empty (Set.nonempty_of_mem I.zero_mem)
         exact absurd h this
       · cases' hsne.bex with i his
@@ -1257,7 +1257,7 @@ theorem subset_union_prime {R : Type u} [CommRing R] {s : Finset ι} {f : ι →
           intro j hj
           refine' hp j (Finset.mem_insert_of_mem hj) _ _ <;> rintro rfl <;>
             solve_by_elim only [Finset.mem_insert_of_mem, *]
-        rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_self (f i : Set R),
+        rw [Finset.coe_insert, Set.biUnion_insert, ← Set.union_self (f i : Set R),
           subset_union_prime' hp', ← or_assoc, or_self_iff] at h
         rwa [Finset.exists_mem_insert]
 #align ideal.subset_union_prime Ideal.subset_union_prime
@@ -1480,25 +1480,25 @@ theorem comap_inf : comap f (K ⊓ L) = comap f K ⊓ comap f L :=
 
 variable {ι : Sort _}
 
-theorem map_supᵢ (K : ι → Ideal R) : (supᵢ K).map f = ⨆ i, (K i).map f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supᵢ
-#align ideal.map_supr Ideal.map_supᵢ
+theorem map_iSup (K : ι → Ideal R) : (iSup K).map f = ⨆ i, (K i).map f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_iSup
+#align ideal.map_supr Ideal.map_iSup
 
-theorem comap_infᵢ (K : ι → Ideal S) : (infᵢ K).comap f = ⨅ i, (K i).comap f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infᵢ
-#align ideal.comap_infi Ideal.comap_infᵢ
+theorem comap_iInf (K : ι → Ideal S) : (iInf K).comap f = ⨅ i, (K i).comap f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_iInf
+#align ideal.comap_infi Ideal.comap_iInf
 
-theorem map_supₛ (s : Set (Ideal R)) : (supₛ s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_supₛ
-#align ideal.map_Sup Ideal.map_supₛ
+theorem map_sSup (s : Set (Ideal R)) : (sSup s).map f = ⨆ I ∈ s, (I : Ideal R).map f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).l_sSup
+#align ideal.map_Sup Ideal.map_sSup
 
-theorem comap_infₛ (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
-  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infₛ
-#align ideal.comap_Inf Ideal.comap_infₛ
+theorem comap_sInf (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ s, (I : Ideal S).comap f :=
+  (gc_map_comap f : GaloisConnection (map f) (comap f)).u_sInf
+#align ideal.comap_Inf Ideal.comap_sInf
 
-theorem comap_infₛ' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
-  _root_.trans (comap_infₛ f s) (by rw [infᵢ_image])
-#align ideal.comap_Inf' Ideal.comap_infₛ'
+theorem comap_sInf' (s : Set (Ideal S)) : (sInf s).comap f = ⨅ I ∈ comap f '' s, I :=
+  _root_.trans (comap_sInf f s) (by rw [iInf_image])
+#align ideal.comap_Inf' Ideal.comap_sInf'
 
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
   ⟨comap_ne_top f H.ne_top, fun {x y} h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
@@ -1587,17 +1587,17 @@ theorem map_sup_comap_of_surjective (I J : Ideal S) : (I.comap f ⊔ J.comap f).
   (giMapComap f hf).l_sup_u _ _
 #align ideal.map_sup_comap_of_surjective Ideal.map_sup_comap_of_surjective
 
-theorem map_supᵢ_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = supᵢ K :=
-  (giMapComap f hf).l_supᵢ_u _
-#align ideal.map_supr_comap_of_surjective Ideal.map_supᵢ_comap_of_surjective
+theorem map_iSup_comap_of_surjective (K : ι → Ideal S) : (⨆ i, (K i).comap f).map f = iSup K :=
+  (giMapComap f hf).l_iSup_u _
+#align ideal.map_supr_comap_of_surjective Ideal.map_iSup_comap_of_surjective
 
 theorem map_inf_comap_of_surjective (I J : Ideal S) : (I.comap f ⊓ J.comap f).map f = I ⊓ J :=
   (giMapComap f hf).l_inf_u _ _
 #align ideal.map_inf_comap_of_surjective Ideal.map_inf_comap_of_surjective
 
-theorem map_infᵢ_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = infᵢ K :=
-  (giMapComap f hf).l_infᵢ_u _
-#align ideal.map_infi_comap_of_surjective Ideal.map_infᵢ_comap_of_surjective
+theorem map_iInf_comap_of_surjective (K : ι → Ideal S) : (⨅ i, (K i).comap f).map f = iInf K :=
+  (giMapComap f hf).l_iInf_u _
+#align ideal.map_infi_comap_of_surjective Ideal.map_iInf_comap_of_surjective
 
 theorem mem_image_of_mem_map_of_surjective {I : Ideal R} {y} (H : y ∈ map f I) : y ∈ f '' I :=
   Submodule.span_induction H (fun _ => id) ⟨0, I.zero_mem, map_zero f⟩
@@ -1792,8 +1792,8 @@ theorem map_mul : map f (I * J) = map f I * map f J :=
         show (f (r * s)) ∈ map f I * map f J by
           rw [_root_.map_mul]; exact mul_mem_mul (mem_map_of_mem f hri) (mem_map_of_mem f hsj))
     (span_mul_span (↑f '' ↑I) (↑f '' ↑J) ▸ (span_le.2 <|
-      Set.unionᵢ₂_subset fun i ⟨r, hri, hfri⟩ =>
-        Set.unionᵢ₂_subset fun j ⟨s, hsj, hfsj⟩ =>
+      Set.iUnion₂_subset fun i ⟨r, hri, hfri⟩ =>
+        Set.iUnion₂_subset fun j ⟨s, hsj, hfsj⟩ =>
           Set.singleton_subset_iff.2 <|
             hfri ▸ hfsj ▸ by rw [← _root_.map_mul]; exact mem_map_of_mem f (mul_mem_mul hri hsj)))
 #align ideal.map_mul Ideal.map_mul
@@ -2120,26 +2120,26 @@ section Ring
 
 variable [Ring R] [Ring S] [rc : RingHomClass F R S]
 
-theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
-    (∀ J ∈ A, RingHom.ker f ≤ J) → map f (infₛ A) = infₛ (map f '' A) := by
-  refine' fun h => le_antisymm (le_infₛ _) _
+theorem map_sInf {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
+    (∀ J ∈ A, RingHom.ker f ≤ J) → map f (sInf A) = sInf (map f '' A) := by
+  refine' fun h => le_antisymm (le_sInf _) _
   · intro j hj y hy
     cases' (mem_map_iff_of_surjective f hf).1 hy with x hx
     cases' (Set.mem_image _ _ _).mp hj with J hJ
     rw [← hJ.right, ← hx.right]
-    exact mem_map_of_mem f (infₛ_le_of_le hJ.left (le_of_eq rfl) hx.left)
+    exact mem_map_of_mem f (sInf_le_of_le hJ.left (le_of_eq rfl) hx.left)
   · intro y hy
     cases' hf y with x hx
     refine' hx ▸ mem_map_of_mem f _
     have : ∀ I ∈ A, y ∈ map f I := by simpa using hy
-    rw [Submodule.mem_infₛ]
+    rw [Submodule.mem_sInf]
     intro J hJ
     rcases (mem_map_iff_of_surjective f hf).1 (this J hJ) with ⟨x', hx', rfl⟩
     have : x - x' ∈ J := by
       apply h J hJ
       rw [RingHom.mem_ker, map_sub, hx, sub_self]
     simpa only [sub_add_cancel] using J.add_mem this hx'
-#align ideal.map_Inf Ideal.map_infₛ
+#align ideal.map_Inf Ideal.map_sInf
 
 theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Ideal R} [H : IsPrime I]
     (hk : RingHom.ker f ≤ I) : IsPrime (map f I) := by
@@ -2182,9 +2182,9 @@ theorem map_eq_iff_sup_ker_eq_of_surjective {I J : Ideal R} (f : R →+* S)
 
 theorem map_radical_of_surjective {f : R →+* S} (hf : Function.Surjective f) {I : Ideal R}
     (h : RingHom.ker f ≤ I) : map f I.radical = (map f I).radical := by
-  rw [radical_eq_infₛ, radical_eq_infₛ]
+  rw [radical_eq_sInf, radical_eq_sInf]
   have : ∀ J ∈ {J : Ideal R | I ≤ J ∧ J.IsPrime}, RingHom.ker f ≤ J := fun J hJ => h.trans hJ.left
-  convert map_infₛ hf this
+  convert map_sInf hf this
   refine' funext fun j => propext ⟨_, _⟩
   · rintro ⟨hj, hj'⟩
     haveI : j.IsPrime := hj'
chore: tidy various files (#3848)
Diff
@@ -38,9 +38,9 @@ variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
 open Pointwise
 
-instance hasSmul' : SMul (Ideal R) (Submodule R M) :=
+instance hasSMul' : SMul (Ideal R) (Submodule R M) :=
   ⟨Submodule.map₂ (LinearMap.lsmul R M)⟩
-#align submodule.has_smul' Submodule.hasSmul'
+#align submodule.has_smul' Submodule.hasSMul'
 
 /-- This duplicates the global `smul_eq_mul`, but doesn't have to unfold anywhere near as much to
 apply. -/
@@ -652,8 +652,7 @@ theorem sup_eq_top_iff_isCoprime {R : Type _} [CommSemiring R] (x y : R) :
     rw [mem_span_singleton'] at hu hv
     rw [← hu.choose_spec, ← hv.choose_spec] at h1
     exact ⟨_, _, h1⟩
-  ·
-    exact fun ⟨u, v, h1⟩ =>
+  · exact fun ⟨u, v, h1⟩ =>
       ⟨_, mem_span_singleton'.mpr ⟨_, rfl⟩, _, mem_span_singleton'.mpr ⟨_, rfl⟩, h1⟩
 #align ideal.sup_eq_top_iff_is_coprime Ideal.sup_eq_top_iff_isCoprime
 
@@ -1279,8 +1278,7 @@ theorem isUnit_iff {I : Ideal R} : IsUnit I ↔ I = ⊤ :=
       ⟨fun h => eq_top_iff.mpr (Ideal.le_of_dvd h), fun h => ⟨⊤, by rw [mul_top, h]⟩⟩)
 #align ideal.is_unit_iff Ideal.isUnit_iff
 
-instance uniqueUnits : Unique (Ideal R)ˣ
-    where
+instance uniqueUnits : Unique (Ideal R)ˣ where
   default := 1
   uniq u := Units.ext (show (u : Ideal R) = 1 by rw [isUnit_iff.mp u.isUnit, one_eq_top])
 #align ideal.unique_units Ideal.uniqueUnits
@@ -1498,9 +1496,9 @@ theorem comap_infₛ (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ s, (I
   (gc_map_comap f : GaloisConnection (map f) (comap f)).u_infₛ
 #align ideal.comap_Inf Ideal.comap_infₛ
 
-theorem comap_Inf' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
+theorem comap_infₛ' (s : Set (Ideal S)) : (infₛ s).comap f = ⨅ I ∈ comap f '' s, I :=
   _root_.trans (comap_infₛ f s) (by rw [infᵢ_image])
-#align ideal.comap_Inf' Ideal.comap_Inf'
+#align ideal.comap_Inf' Ideal.comap_infₛ'
 
 theorem comap_isPrime [H : IsPrime K] : IsPrime (comap f K) :=
   ⟨comap_ne_top f H.ne_top, fun {x y} h => H.mem_or_mem <| by rwa [mem_comap, map_mul] at h⟩
@@ -1666,8 +1664,7 @@ theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap
 #align ideal.comap_map_of_surjective Ideal.comap_map_of_surjective
 
 /-- Correspondence theorem -/
-def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p }
-    where
+def relIsoOfSurjective : Ideal S ≃o { p : Ideal R // comap f ⊥ ≤ p } where
   toFun J := ⟨comap f J, comap_mono bot_le⟩
   invFun I := map f I.1
   left_inv J := map_comap_of_surjective f hf J
@@ -1742,8 +1739,7 @@ section Bijective
 variable (hf : Function.Bijective f)
 
 /-- Special case of the correspondence theorem for isomorphic rings -/
-def relIsoOfBijective : Ideal S ≃o Ideal R
-    where
+def relIsoOfBijective : Ideal S ≃o Ideal R where
   toFun := comap f
   invFun := map f
   left_inv := (relIsoOfSurjective f hf.right).left_inv
@@ -1760,12 +1756,11 @@ theorem comap_le_iff_le_map {I : Ideal R} {K : Ideal S} : comap f K ≤ I ↔ K
 
 theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := by
   refine'
-      or_iff_not_imp_left.1 (map_eq_top_or_isMaximal_of_surjective f hf.right H) fun h =>
-        H.1.1 _;
-    calc
-      I = comap f (map f I) := ((relIsoOfBijective f hf).right_inv I).symm
-      _ = comap f ⊤ := by rw [h]
-      _ = ⊤ := by rw [comap_top]
+    or_iff_not_imp_left.1 (map_eq_top_or_isMaximal_of_surjective f hf.right H) fun h => H.1.1 _
+  calc
+    I = comap f (map f I) := ((relIsoOfBijective f hf).right_inv I).symm
+    _ = comap f ⊤ := by rw [h]
+    _ = ⊤ := by rw [comap_top]
 #align ideal.map.is_maximal Ideal.map.isMaximal
 
 end Bijective
@@ -1871,7 +1866,8 @@ theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ r
 #align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_mem
 
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
-  ⟨mt radical_eq_top.1 hi.1, fun {x y} ⟨m, hxy⟩ => by
+  ⟨mt radical_eq_top.1 hi.1,
+   fun {x y} ⟨m, hxy⟩ => by
     rw [mul_pow] at hxy; cases' hi.2 hxy with h h
     · exact Or.inl ⟨m, h⟩
     · exact Or.inr (mem_radical_of_pow_mem h)⟩
@@ -1879,7 +1875,8 @@ theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :
 
 theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     (hij : radical I = radical J) : IsPrimary (I ⊓ J) :=
-  ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1), fun {x y} ⟨hxyi, hxyj⟩ => by
+  ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1),
+   fun {x y} ⟨hxyi, hxyj⟩ => by
     rw [radical_inf, hij, inf_idem]
     cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
     · exact Or.inl ⟨hxi, hxj⟩
@@ -2080,7 +2077,8 @@ theorem ker_isPrime {F : Type _} [Ring R] [Ring S] [IsDomain S] [RingHomClass F
     (ker f).IsPrime :=
   ⟨by
     rw [Ne.def, Ideal.eq_top_iff_one]
-    exact not_one_mem_ker f, fun {x y} => by
+    exact not_one_mem_ker f,
+   fun {x y} => by
     simpa only [mem_ker, map_mul] using @eq_zero_or_eq_zero_of_mul_eq_zero S _ _ _ _ _⟩
 #align ring_hom.ker_is_prime RingHom.ker_isPrime
 
@@ -2136,7 +2134,7 @@ theorem map_infₛ {A : Set (Ideal R)} {f : F} (hf : Function.Surjective f) :
     have : ∀ I ∈ A, y ∈ map f I := by simpa using hy
     rw [Submodule.mem_infₛ]
     intro J hJ
-    rcases(mem_map_iff_of_surjective f hf).1 (this J hJ) with ⟨x', hx', rfl⟩
+    rcases (mem_map_iff_of_surjective f hf).1 (this J hJ) with ⟨x', hx', rfl⟩
     have : x - x' ∈ J := by
       apply h J hJ
       rw [RingHom.mem_ker, map_sub, hx, sub_self]
@@ -2208,8 +2206,7 @@ variable {R : Type u} {M : Type v}
 variable [CommSemiring R] [AddCommMonoid M] [Module R M]
 
 -- TODO: show `[Algebra R A] : Algebra (Ideal R) A` too
-instance moduleSubmodule : Module (Ideal R) (Submodule R M)
-    where
+instance moduleSubmodule : Module (Ideal R) (Submodule R M) where
   smul_add := smul_sup
   add_smul := sup_smul
   mul_smul := Submodule.smul_assoc
@@ -2230,9 +2227,7 @@ variable (f : A →+* B) (f_inv : B → A)
 def liftOfRightInverseAux (hf : Function.RightInverse f_inv f) (g : A →+* C)
     (hg : RingHom.ker f ≤ RingHom.ker g) :
     B →+* C :=
-  {
-    AddMonoidHom.liftOfRightInverse f.toAddMonoidHom f_inv hf
-      ⟨g.toAddMonoidHom, hg⟩ with
+  { AddMonoidHom.liftOfRightInverse f.toAddMonoidHom f_inv hf ⟨g.toAddMonoidHom, hg⟩ with
     toFun := fun b => g (f_inv b)
     map_one' := by
       rw [← map_one g, ← sub_eq_zero, ← map_sub g, ← mem_ker g]
@@ -2273,8 +2268,7 @@ See `RingHom.eq_liftOfRightInverse` for the uniqueness lemma.
 ```
 -/
 def liftOfRightInverse (hf : Function.RightInverse f_inv f) :
-    { g : A →+* C // RingHom.ker f ≤ RingHom.ker g } ≃ (B →+* C)
-    where
+    { g : A →+* C // RingHom.ker f ≤ RingHom.ker g } ≃ (B →+* C) where
   toFun g := f.liftOfRightInverseAux f_inv hf g.1 g.2
   invFun φ := ⟨φ.comp f, fun x hx => (mem_ker _).mpr <| by simp [(mem_ker _).mp hx]⟩
   left_inv g := by
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -246,8 +246,7 @@ theorem span_smul_span : Ideal.span S • span R T = span R (⋃ (s ∈ S) (t 
 
 theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
     (Ideal.span {r} : Ideal R) • N = r • N := by
-  have : span R (⋃ (t : M) (_x : t ∈ N), {r • t}) = r • N :=
-    by
+  have : span R (⋃ (t : M) (_x : t ∈ N), {r • t}) = r • N := by
     convert span_eq (r • N)
     exact (Set.image_eq_unionᵢ _ (N : Set M)).symm
   conv_lhs => rw [← span_eq N, span_smul_span]
@@ -256,8 +255,7 @@ theorem ideal_span_singleton_smul (r : R) (N : Submodule R M) :
 
 theorem mem_of_span_top_of_smul_mem (M' : Submodule R M) (s : Set R) (hs : Ideal.span s = ⊤) (x : M)
     (H : ∀ r : s, (r : R) • x ∈ M') : x ∈ M' := by
-  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M'
-    by
+  suffices (⊤ : Ideal R) • span R ({x} : Set M) ≤ M' by
     rw [top_smul] at this
     exact this (subset_span (Set.mem_singleton x))
   rw [← hs, span_smul_span, span_le]
@@ -556,8 +554,8 @@ theorem le_span_singleton_mul_iff {x : R} {I J : Ideal R} :
     simp only [mem_span_singleton_mul]
 #align ideal.le_span_singleton_mul_iff Ideal.le_span_singleton_mul_iff
 
-theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} : span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J :=
-  by
+theorem span_singleton_mul_le_iff {x : R} {I J : Ideal R} :
+    span {x} * I ≤ J ↔ ∀ z ∈ I, x * z ∈ J := by
   simp only [mul_le, mem_span_singleton_mul, mem_span_singleton]
   constructor
   · intro h zI hzI
@@ -686,8 +684,7 @@ theorem mul_eq_inf_of_coprime (h : I ⊔ J = ⊤) : I * J = I ⊓ J :=
 #align ideal.mul_eq_inf_of_coprime Ideal.mul_eq_inf_of_coprime
 
 theorem sup_mul_eq_of_coprime_left (h : I ⊔ J = ⊤) : I ⊔ J * K = I ⊔ K :=
-  le_antisymm (sup_le_sup_left mul_le_left _) fun i hi =>
-    by
+  le_antisymm (sup_le_sup_left mul_le_left _) fun i hi => by
     rw [eq_top_iff_one] at h; rw [Submodule.mem_sup] at h hi⊢
     obtain ⟨i1, hi1, j, hj, h⟩ := h; obtain ⟨i', hi', k, hk, hi⟩ := hi
     refine' ⟨_, add_mem hi' (mul_mem_right k _ hi1), _, mul_mem_mul hj hk, _⟩
@@ -1019,8 +1016,7 @@ theorem radical_pow (n : ℕ) (H : n > 0) : radical (I ^ n) = radical I :=
       Or.casesOn (lt_or_eq_of_le <| Nat.le_of_lt_succ H)
         (fun H =>
           calc
-            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) :=
-              by
+            radical (I ^ (n + 1)) = radical I ⊓ radical (I ^ n) := by
               rw [pow_succ]
               exact radical_mul _ _
             _ = radical I ⊓ radical I := by rw [ih H]
@@ -1133,17 +1129,14 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
     · obtain ⟨j, hjt, hfji⟩ : ∃ j ∈ t, f j ≤ f i := Ht
       obtain ⟨u, hju, rfl⟩ : ∃ u, j ∉ u ∧ insert j u = t :=
         ⟨t.erase j, t.not_mem_erase j, Finset.insert_erase hjt⟩
-      have hp' : ∀ k ∈ insert i u, IsPrime (f k) :=
-        by
+      have hp' : ∀ k ∈ insert i u, IsPrime (f k) := by
         rw [Finset.forall_mem_insert] at hp ⊢
         exact ⟨hp.1, hp.2.2⟩
       have hiu : i ∉ u := mt Finset.mem_insert_of_mem hit
-      have hn' : (insert i u).card = n :=
-        by
+      have hn' : (insert i u).card = n := by
         rwa [Finset.card_insert_of_not_mem] at hn⊢
         exacts[hiu, hju]
-      have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k :=
-        by
+      have h' : (I : Set R) ⊆ f a ∪ f b ∪ ⋃ k ∈ (↑(insert i u) : Set ι), f k := by
         rw [Finset.coe_insert] at h ⊢
         rw [Finset.coe_insert] at h
         simp only [Set.bunionᵢ_insert] at h ⊢
@@ -1155,8 +1148,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       simp only [exists_prop]
       exact And.imp (fun hk => Finset.insert_subset_insert i (Finset.subset_insert j u) hk) id
     by_cases Ha : f a ≤ f i
-    · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j :=
-        by
+    · have h' : (I : Set R) ⊆ f i ∪ f b ∪ ⋃ j ∈ (↑t : Set ι), f j := by
         rw [Finset.coe_insert, Set.bunionᵢ_insert, ← Set.union_assoc,
           Set.union_right_comm (f a : Set R)] at h
         erw [Set.union_eq_self_of_subset_left Ha] at h
@@ -1180,8 +1172,7 @@ theorem subset_union_prime' {R : Type u} [CommRing R] {s : Finset ι} {f : ι 
       · exact Or.inr (Or.inr ⟨k, Finset.mem_insert_of_mem hkt, ih⟩)
     by_cases Hi : I ≤ f i
     · exact Or.inr (Or.inr ⟨i, Finset.mem_insert_self i t, Hi⟩)
-    have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i :=
-      by
+    have : ¬I ⊓ f a ⊓ f b ⊓ t.inf f ≤ f i := by
       rcases t.eq_empty_or_nonempty with (rfl | hsne)
       · rw [Finset.inf_empty, inf_top_eq, hp.1.inf_le, hp.1.inf_le, not_or, not_or]
         exact ⟨⟨Hi, Ha⟩, Hb⟩
@@ -1325,8 +1316,7 @@ def comap (I : Ideal S) : Ideal R where
     simp only [Set.mem_preimage, SetLike.mem_coe, map_add] at hx hy ⊢
     exact add_mem hx hy
   zero_mem' := by simp only [Set.mem_preimage, map_zero, SetLike.mem_coe, Submodule.zero_mem]
-  smul_mem' c x hx :=
-    by
+  smul_mem' c x hx := by
     simp only [smul_eq_mul, Set.mem_preimage, map_mul, SetLike.mem_coe] at *
     exact mul_mem_left I _ hx
 #align ideal.comap Ideal.comap
@@ -1881,8 +1871,7 @@ theorem mem_radical_of_pow_mem {I : Ideal R} {x : R} {m : ℕ} (hx : x ^ m ∈ r
 #align ideal.mem_radical_of_pow_mem Ideal.mem_radical_of_pow_mem
 
 theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :=
-  ⟨mt radical_eq_top.1 hi.1, fun {x y} ⟨m, hxy⟩ =>
-    by
+  ⟨mt radical_eq_top.1 hi.1, fun {x y} ⟨m, hxy⟩ => by
     rw [mul_pow] at hxy; cases' hi.2 hxy with h h
     · exact Or.inl ⟨m, h⟩
     · exact Or.inr (mem_radical_of_pow_mem h)⟩
@@ -1890,8 +1879,7 @@ theorem isPrime_radical {I : Ideal R} (hi : IsPrimary I) : IsPrime (radical I) :
 
 theorem isPrimary_inf {I J : Ideal R} (hi : IsPrimary I) (hj : IsPrimary J)
     (hij : radical I = radical J) : IsPrimary (I ⊓ J) :=
-  ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1), fun {x y} ⟨hxyi, hxyj⟩ =>
-    by
+  ⟨ne_of_lt <| lt_of_le_of_lt inf_le_left (lt_top_iff_ne_top.2 hi.1), fun {x y} ⟨hxyi, hxyj⟩ => by
     rw [radical_inf, hij, inf_idem]
     cases' hi.2 hxyi with hxi hyi; cases' hj.2 hxyj with hxj hyj
     · exact Or.inl ⟨hxi, hxj⟩
@@ -1921,8 +1909,8 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 variable {ι M v}
 
 set_option synthInstance.etaExperiment true in
-theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.sum fun i x => (x : R) • v i :=
-  by
+theorem finsuppTotal_apply (f : ι →₀ I) :
+    finsuppTotal ι M I v f = f.sum fun i x => (x : R) • v i := by
   dsimp [finsuppTotal]
   rw [Finsupp.total_apply, Finsupp.sum_mapRange_index]
   exact fun _ => zero_smul _ _
@@ -2165,8 +2153,7 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
     rw [← ha, ← hb, ← _root_.map_mul f, mem_map_iff_of_surjective _ hf] at hxy
     rcases hxy with ⟨c, hc, hc'⟩
     rw [← sub_eq_zero, ← map_sub] at hc'
-    have : a * b ∈ I :=
-      by
+    have : a * b ∈ I := by
       convert I.sub_mem hc (hk (hc' : c - a * b ∈ RingHom.ker f)) using 1
       abel
     exact
Diff
@@ -574,7 +574,7 @@ theorem span_singleton_mul_le_span_singleton_mul {x y : R} {I J : Ideal R} :
 
 theorem span_singleton_mul_right_mono [IsDomain R] {x : R} (hx : x ≠ 0) :
     span {x} * I ≤ span {x} * J ↔ I ≤ J := by
-  simp_rw [span_singleton_mul_le_span_singleton_mul, mul_right_inj' hx, exists_prop,
+  simp_rw [span_singleton_mul_le_span_singleton_mul, mul_right_inj' hx,
     exists_eq_right', SetLike.le_def]
 #align ideal.span_singleton_mul_right_mono Ideal.span_singleton_mul_right_mono
 
@@ -1068,7 +1068,7 @@ theorem IsPrime.multiset_prod_le {s : Multiset (Ideal R)} {P : Ideal R} (hp : Is
 theorem IsPrime.multiset_prod_map_le {s : Multiset ι} (f : ι → Ideal R) {P : Ideal R}
     (hp : IsPrime P) (hne : s ≠ 0) : (s.map f).prod ≤ P ↔ ∃ i ∈ s, f i ≤ P := by
   rw [hp.multiset_prod_le (mt Multiset.map_eq_zero.mp hne)]
-  simp_rw [exists_prop, Multiset.mem_map, exists_exists_and_eq_and]
+  simp_rw [Multiset.mem_map, exists_exists_and_eq_and]
 #align ideal.is_prime.multiset_prod_map_le Ideal.IsPrime.multiset_prod_map_le
 
 theorem IsPrime.prod_le {s : Finset ι} {f : ι → Ideal R} {P : Ideal R} (hp : IsPrime P)
chore: use etaExperiment rather than hacking with instances (#3668)

This is to fix timeouts in https://github.com/leanprover-community/mathlib4/pull/3552.

See discussion at https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.233552.20.28LinearAlgebra.2EMatrix.2EToLin.29.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -404,6 +404,7 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     _ ↔ r • x ∈ N := by simp_rw [fun (a : R) ↦ smul_comm r a x]; exact SetLike.forall_smul_mem_iff
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 
+set_option synthInstance.etaExperiment true in
 @[simp]
 theorem _root_.Ideal.mem_colon_singleton {I : Ideal R} {x r : R} :
     r ∈ I.colon (Ideal.span {x}) ↔ r * x ∈ I := by
@@ -1663,6 +1664,7 @@ section Surjective
 
 variable (hf : Function.Surjective f)
 
+set_option synthInstance.etaExperiment true in
 theorem comap_map_of_surjective (I : Ideal R) : comap f (map f I) = I ⊔ comap f ⊥ :=
   le_antisymm
     (fun r h =>
@@ -1910,6 +1912,7 @@ variable (v : ι → M) (hv : Submodule.span R (Set.range v) = ⊤)
 
 open BigOperators
 
+set_option synthInstance.etaExperiment true in
 /-- A variant of `Finsupp.total` that takes in vectors valued in `I`. -/
 noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
   (Finsupp.total ι M R v).comp (Finsupp.mapRange.linearMap I.subtype)
@@ -1917,6 +1920,7 @@ noncomputable def finsuppTotal : (ι →₀ I) →ₗ[R] M :=
 
 variable {ι M v}
 
+set_option synthInstance.etaExperiment true in
 theorem finsuppTotal_apply (f : ι →₀ I) : finsuppTotal ι M I v f = f.sum fun i x => (x : R) • v i :=
   by
   dsimp [finsuppTotal]
@@ -1951,9 +1955,7 @@ section Basis
 
 variable {ι R S : Type _} [CommSemiring R] [CommRing S] [IsDomain S] [Algebra R S]
 
--- Porting note: Needed to add the following line
-private instance : Module R S := Algebra.toModule
-
+set_option synthInstance.etaExperiment true in
 /-- A basis on `S` gives a basis on `Ideal.span {x}`, by multiplying everything by `x`. -/
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
@@ -1966,6 +1968,7 @@ noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
       (Submodule.restrictScalarsEquiv R S S (Ideal.span ({x} : Set S))).restrictScalars R
 #align ideal.basis_span_singleton Ideal.basisSpanSingleton
 
+set_option synthInstance.etaExperiment true in
 @[simp]
 theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i : ι) :
     (basisSpanSingleton b hx i : S) = x * b i := by
@@ -1974,6 +1977,7 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
+set_option synthInstance.etaExperiment true in
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
fix: add missing _root_ (#3630)

Mathport doesn't understand this, and apparently nor do many of the humans fixing the errors it creates.

If your #align statement complains the def doesn't exist, don't change the #align; work out why it doesn't exist instead.

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -1958,7 +1958,7 @@ private instance : Module R S := Algebra.toModule
 noncomputable def basisSpanSingleton (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
     Basis ι R (span ({x} : Set S)) :=
   b.map <|
-    LinearEquiv.ofInjective (LinearMap.Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
+    LinearEquiv.ofInjective (Algebra.lmul R S x) (LinearMap.mul_injective hx) ≪≫ₗ
         LinearEquiv.ofEq _ _
           (by
             ext
@@ -1971,13 +1971,13 @@ theorem basisSpanSingleton_apply (b : Basis ι R S) {x : S} (hx : x ≠ 0) (i :
     (basisSpanSingleton b hx i : S) = x * b i := by
   simp only [basisSpanSingleton, Basis.map_apply, LinearEquiv.trans_apply,
     Submodule.restrictScalarsEquiv_apply, LinearEquiv.ofInjective_apply, LinearEquiv.coe_ofEq_apply,
-    LinearEquiv.restrictScalars_apply, LinearMap.Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
+    LinearEquiv.restrictScalars_apply, Algebra.coe_lmul_eq_mul, LinearMap.mul_apply']
 #align ideal.basis_span_singleton_apply Ideal.basisSpanSingleton_apply
 
 @[simp]
 theorem constr_basisSpanSingleton {N : Type _} [Semiring N] [Module N S] [SMulCommClass R N S]
     (b : Basis ι R S) {x : S} (hx : x ≠ 0) :
-    (b.constr N).toFun (((↑) : _ → S) ∘ (basisSpanSingleton b hx)) = LinearMap.Algebra.lmul R S x :=
+    (b.constr N).toFun (((↑) : _ → S) ∘ (basisSpanSingleton b hx)) = Algebra.lmul R S x :=
   b.ext fun i => by
     erw [Basis.constr_basis, Function.comp_apply, basisSpanSingleton_apply, LinearMap.mul_apply']
 #align ideal.constr_basis_span_singleton Ideal.constr_basisSpanSingleton
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -402,7 +402,6 @@ theorem mem_colon_singleton {N : Submodule R M} {x : M} {r : R} :
     r ∈ N.colon (Submodule.span R {x}) ↔ ∀ a : R, r • a • x ∈ N := by
       simp [Submodule.mem_colon, Submodule.mem_span_singleton]
     _ ↔ r • x ∈ N := by simp_rw [fun (a : R) ↦ smul_comm r a x]; exact SetLike.forall_smul_mem_iff
-
 #align submodule.mem_colon_singleton Submodule.mem_colon_singleton
 
 @[simp]
@@ -803,7 +802,6 @@ theorem pow_le_self {n : ℕ} (hn : n ≠ 0) : I ^ n ≤ I :=
   calc
     I ^ n ≤ I ^ 1 := pow_le_pow (Nat.pos_of_ne_zero hn)
     _ = I := pow_one _
-
 #align ideal.pow_le_self Ideal.pow_le_self
 
 theorem pow_mono {I J : Ideal R} (e : I ≤ J) (n : ℕ) : I ^ n ≤ J ^ n := by
@@ -1776,7 +1774,6 @@ theorem map.isMaximal {I : Ideal R} (H : IsMaximal I) : IsMaximal (map f I) := b
       I = comap f (map f I) := ((relIsoOfBijective f hf).right_inv I).symm
       _ = comap f ⊤ := by rw [h]
       _ = ⊤ := by rw [comap_top]
-
 #align ideal.map.is_maximal Ideal.map.isMaximal
 
 end Bijective
feat: improvements to congr! and convert (#2606)
  • There is now configuration for congr!, convert, and convert_to to control parts of the congruence algorithm, in particular transparency settings when applying congruence lemmas.
  • congr! now applies congruence lemmas with reducible transparency by default. This prevents it from unfolding definitions when applying congruence lemmas. It also now tries both the LHS-biased and RHS-biased simp congruence lemmas, with a configuration option to set which it should try first.
  • There is now a new HEq congruence lemma generator that gives each hypothesis access to the proofs of previous hypotheses. This means that if you have an equality ⊢ ⟨a, x⟩ = ⟨b, y⟩ of sigma types, congr! turns this into goals ⊢ a = b and ⊢ a = b → HEq x y (note that congr! will also auto-introduce a = b for you in the second goal). This congruence lemma generator applies to more cases than the simp congruence lemma generator does.
  • congr! (and hence convert) are more careful about applying lemmas that don't force definitions to unfold. There were a number of cases in mathlib where the implementation of congr was being abused to unfold definitions.
  • With set_option trace.congr! true you can see what congr! sees when it is deciding on congruence lemmas.
  • There is also a bug fix in convert_to to do using 1 when there is no using clause, to match its documentation.

Note that congr! is more capable than congr at finding a way to equate left-hand sides and right-hand sides, so you will frequently need to limit its depth with a using clause. However, there is also a new heuristic to prevent considering unlikely-to-be-provable type equalities (controlled by the typeEqs option), which can help limit the depth automatically.

There is also a predefined configuration that you can invoke with, for example, convert (config := .unfoldSameFun) h, that causes it to behave more like congr, including using default transparency when unfolding.

Diff
@@ -2166,7 +2166,7 @@ theorem map_isPrime_of_surjective {f : F} (hf : Function.Surjective f) {I : Idea
     rw [← sub_eq_zero, ← map_sub] at hc'
     have : a * b ∈ I :=
       by
-      convert I.sub_mem hc (hk (hc' : c - a * b ∈ RingHom.ker f))
+      convert I.sub_mem hc (hk (hc' : c - a * b ∈ RingHom.ker f)) using 1
       abel
     exact
       (H.mem_or_mem this).imp (fun h => ha ▸ mem_map_of_mem f h) fun h => hb ▸ mem_map_of_mem f h
feat: port RingTheory.Ideal.Operations (#2701)

Co-authored-by: David Renshaw <dwrenshaw@gmail.com> Co-authored-by: Johan Commelin <johan@commelin.net>

Dependencies 8 + 450

451 files ported (98.3%)
186187 lines ported (98.4%)
Show graph

The unported dependencies are